Tag: visual studio

C#项目不会看到Excel COM引用

即时通讯编写使用Visual Studio 2010速成版的应用程序。 我有一个使用Excel自动化的问题。 我添加了一个COM参考到Microsoft Excel 12.0对象库。 它增加了以下参考文献 Microsoft.Office.Core Microsoft.Office.Interop.Excel VBIDE 我还添加了使用条款: using Microsoft.Office.Interop.Excel; 然后,我从微软拿了一段代码: m_objExcel = new Excel.Application(); m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks; m_objBook = (Excel._Workbook)(m_objBooks.Add(m_objOpt)); 并强调Excel和呼喊: 无法findtypes或命名空间名称“Excel”(是否缺less使用指令或程序集引用?) 我安装了Office 2007 Professional Plus和“.net 2.0 Microsoft Forms的互操作性组件” (对不起,波兰语翻译)。 目标框架是.NET 4客户端configuration文件。 任何想法可能是错的?

VB.NET – 读取excel文件的整个内容

我已经知道如何使用VB.NET读取.xls文件的特定单元格的基本过程,但我无法弄清楚如何自动从这样的文件中获取所有的数据。 基本上,我正在获取这样的数据: Dim xlApp As Excel.Application Dim wb As Workbook Dim ws As Worksheet xlApp = New Excel.Application wb = xlApp.Workbooks.Open("myfile.xls") ws = wb.Worksheets("worksheet1") For Each cell In ws.Range("A1", "C10") Console.WriteLine(cell.value) Next 在这种情况下,我知道列A,B和C的前10行中会有内容,但是如果我有一个大小和内容甚至可能会不时变化的大文档,我该怎么办呢? 我知道也有一个属性ws.rows.count,但是这总是返回一个很大的值,比如60000,即使只有几行被占用。 所以基本上,我正在寻找一种简单的方法来循环访问Excel文件的所有已用行,并可以访问该行中的每个单元格。

如何在C ++ / Excel环境中生成有用的debugging信息

在许多银行中,人们使用大多数用C ++编程的各种插件来计算各种风险和价值。 我的问题是:考虑使用内部Excel插件的Excel环境来完成大部分工作。 有没有debugging信息的格式,你会build议产生有用的debugging信息,这是可读的,避免我们的开发人员系统地使用Visual Studio来debugging代码? 目前,我所做的是在我的代码中,生成包含中间计算的.csv文件,其格式可读。 这些文件具有代号,例如Risk-1-Stock-2012-08-13_8h33m00.csv,它们是随时生成的,也可以在临时文件夹中生成。 问题在于,虽然它符合我的目的,但似乎不够灵活,无法被其他人使用,而其他一些人在同一个类似的function项目中也有自己的实现。 也许这里有人有一个“银弹”,这将使标准和可读格式的报告debugging信息更容易?

Excel 365在VS2012macros模板中发现不可读内容; Excel 2010不

我正在VS2012中进行一些Excel文档级别自定义。 当在Office 365的本地安装中首次打开发布的文件时,出现以下错误: “Excel在filename.xltm中发现不可读的内容,是否要恢复此工作簿的内容?如果您信任此工作簿的源,请单击”是“。 奇怪的是修理logging是空白的。 后: <repairedRecords summary="Following is a list of repairs:"> 没有任何东西。 当我在Excel 2010中打开文件时,我不会收到错误。 我目前的工作是在2010年首先打开文件,保存,然后分发。 在Office 2010中打开并保存后,我没有收到错误信息。 在VS2012中有什么需要改变的地方吗? 我一直没有find这方面的信息,我从来没有遇到过一个空白的维修清单。 如果保存在初始文件上,“修复”后文件完全按预期运行。 xltm文件本身不包含任何macros,并且我已经在3个不同的Office 365安装上尝试了这一点。

连接提供者读取xls文件

我使用下面的连接string来读取xlsx文件。 它的工作正常。 connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties=\"Excel 8.0;HDR=NO;\""; 在连接string下面读取xls文件不起作用 connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Excel 8.0;Extended Properties=HDR=NO;IMEX=1;Data Source=" + fileName + ";"; 请纠正这一点。 提前致谢

Visual Studio – 使用资源中的Excel工作簿

我在vb.net程序中遇到问题。 我试图创build一个应用程序,用户将数据插入到窗体中,当单击该button时,应用程序将数据插入到Excel工作簿中。 我希望excel工作簿保留在应用程序中,所以我将其添加为资源,但是当我尝试使用以下代码打开它时: Dim sPath As String = My.Computer.FileSystem.GetTempFileName My.Computer.FileSystem.WriteAllBytes(sPath, My.Resources.exceltemplate, False) 应用程序不会将“exceltemplate”(我已经添加为资源)识别为资源。 我该如何解决? 有另一种方法去做我想要的吗?

不能在原始编译机器以外的机器上部署.Net DLL

我已经在Visual Studio 2010 Express中编写了一个VB.NET类库。 我确保在Properties – > Application – > Assembly Information选项卡上select“Make assembly COM-Visible”。 我还确保在属性窗口的编译选项卡上select“Register for COM Interop”。 生成的DLL在编译该项目的机器上正常工作。 该DLL旨在对来自Excel的几个input数组执行一些繁重的处理,并返回一个输出数组。 我能够在VBA中添加对DLL的引用,并使用该function。 我无法弄清楚如何在其他机器上安装DLL。 我确保将.NET更新到部署机器上的当前版本。 然后我运行下面的batch file: C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ RegAsm.exe“C:\ Users \ Public \ DRAPERLibrary.dll”/ codebase /tlb:DRAPERLibrary.tlb RegAsm的这个调用返回没有错误。 我可以看到Windowsregistry有一些新的引用到这个DLL,但我看不到在Excel中的DLL。 如果我手动浏览到DLL它回来的错误“无法添加指定文件的引用”。 我在哪里错了? 什么是Visual Studio创build一个Excel引用? 有什么我可以添加到我的batch file导致Excel将此DLL识别为VBA中的可用引用吗? 非常感谢您花时间回复。

编辑一个Excel文件,同时导出数据从MS访问到其他Excel文件使用C#没有错误发生

我写了一个程序来导出数据从MS访问Excel。 这工作正常。 但编辑或打开任何其他excel文件时发生错误。 如何解决这个错误。 “从HRESULTexception:0x800AC472” private void WriteExcel(System.Data.DataTable DT, string FileName) { Microsoft.Office.Interop.Excel.ApplicationClass excel = new ApplicationClass(); Microsoft.Office.Interop.Excel.Workbook WB = excel.Workbooks.Add(true); Microsoft.Office.Interop.Excel.Worksheet WSht; int ColId = 0; int RowId = 0; WSht = (Microsoft.Office.Interop.Excel.Worksheet)WB.Sheets[1]; Range Rng = WSht.get_Range("A1", "IV" + (DT.Rows.Count + 1).ToString()); Rng.NumberFormat = "@"; //Fill Column Heading foreach (DataColumn Col in DT.Columns) { […]

Excel VSTO C# – 格式雷达图表类别和轴标签

我试图改变雷达图表的轴和类别标签上的文本的格式,我的代码适用于轴的字体大小,并给出了所需的输出,但是我也收到一个错误,一旦代码在ax.Format.TextFrame2.TextRange.Font.Size = 7;轴上运行ax.Format.TextFrame2.TextRange.Font.Size = 7; debugging出错: mscorlib.dll中发生了“System.Runtime.InteropServices.COMException”types的exception,但未在用户代码中处理。 附加信息:未指定错误(HRESULTexception:0x80004005(E_FAIL)) 如何更改分类标签以及在完成操作后可能会导致错误的原因? 代码如下: public static void FormatRadarLabels(Excel._Application xlApp) { Excel.Chart chart = null; xlApp.ScreenUpdating = false; try { chart = xlApp.ActiveChart as Excel.Chart; foreach (Excel.Axis ax in chart.Axes()) { ax.Format.TextFrame2.TextRange.Font.Size = 7; } } finally { if (chart != null) Marshal.ReleaseComObject(chart); xlApp.ScreenUpdating = true; } } 这个方法被另一个类中的方法调用,它被一个excel工具栏上的button调用,但是我不认为这个错误对于任何外部的东西都没有任何问题,就好像我评论或者删除了这段代码,其余的格式化工作精细。 感谢您提供的任何帮助或build议。 […]

无法将单元格中的数据分配给variables

我正在写代码,从一个Excel文件中获取数据,并将其放入另一个。 我这样做的想法是将数据从开始的工作簿写入一个variables,然后使用该variables将数据写入结束工作簿。 这是我的代码: sApp = new Excel.Application sApp.Visible = false; sBook = sApp.Workbooks.Open(SfilePath.ToString()); sSheet = (Excel.Worksheet)sBook.Sheets[1]; 这只是进入工作簿的介绍代码,下面是我遇到的问题: formNumber = (string)(sSheet.Cells["J2"] as Excel.Range).Value2.ToString(); 当我运行我的程序,我得到一个错误,说 ArgumentException是未处理的。 在mscorlib.dll中发生未处理的“System.ArgumentException”typesexception。 附加信息:参数不正确。 (从HRESULTexception:0x80070057(E_INVALIDARG)) 当我研究这个错误代码(HRESULT:0x80070057)时,我发现其他人也有同样的问题。 然而,所有的解决scheme都没有为我工作(即清理箱,清除临时文件)。 有没有任何人可以给我的见解? 如果您认为您可能需要了解更多关于代码的信息,请告诉我。 谢谢。