Tag: .net

使用Microsoft.Office.Interop.Excel从excel 2010读取数据

我无法读取Excel中的数据。 这是我正在使用的代码: using Excel = Microsoft.Office.Interop.Excel; Excel.Application xlApp = new Excel.Application(); Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"Book1.xlsx", 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); Excel._Worksheet xlWorksheet = (Excel._Worksheet)xlWorkbook.Sheets[1]; Excel.Range xlRange = xlWorksheet.UsedRange; int rowCount = xlRange.Rows.Count; int colCount = xlRange.Columns.Count; for (int i = 1; i <= rowCount; i++) { […]

使用VBA和.Net自动化Excel的优点和缺点

我一直负责在Excel中创build一个财务计划工具,这将从一些自定义函数/macros中受益。 我最初的反应是使用VBA。 我以前用它来驱动Excel(比如5年前)。 但是,我开始怀疑,如果我使用VSTO会更好。 有没有人有使用这两种技术的经验,可以列出优点和缺点,以便我可以评估哪个课程是最好的。

使用OLEDB数据提供程序读取excel文件

我正在使用OLEDB数据提供程序来读取excel文件,但问题是,在Excel表中,一些cloumn有一个无效的值例如,而不是数字string在那里,当我读取这个无效的值,我得到一个空string,而不是实际值。 为上面的截图,当我读取值约翰获得空string。 那么有什么方法可以读取这个无效值吗? 任何帮助将不胜感激。 该代码是读取excel文件 private DataTable ReadExcelFile(string sheetName, string path) { using (OleDbConnection conn = new OleDbConnection()) { DataTable dt = new DataTable(); string Import_FileName = path; string fileExtension = Path.GetExtension(Import_FileName); if (fileExtension == ".xls") conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Import_FileName + ";" + "Extended Properties='Excel 8.0;HDR=YES;'"; if (fileExtension == ".xlsx") conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data […]

Windows 7 .net Excel .SaveAs()错误exception来自HRESULT:0x800A03EC

背景: 我在工作中烤了我的旧硬盘,正在换新的硬盘。 有了这个,我将不得不重build我的机器。 我的经理已经安装了他的笔记本电脑上安装了Windows 7,而我的机器已经不在使用了。 但是我遇到了一个问题。 我们有相当数量的应用程序使用Microsoft.Office.Interop.Excel参考。 到目前为止,我已经经历了一些错误,但是过去几天我一直坚持的错误(我的机器在第一次重build之后实际上遭遇了硬盘驱动器故障),并且无法find修复方法。 我已经search这个错误,但无法find任何人在Windows 7上有这个问题,虽然我已经尝试了Windows Server 2008的其他修补程序无济于事。 如果我不能解决这个问题,我将无法使用Windows 7,并希望知道在重build机器之前,只能擦除它并重新启动(第三次)。 问题: 操作系统:Windows 7企业版 错误消息:从HRESULTexception:0x800A03EC 码: Private m_xls As Microsoft.Office.Interop.Excel.Application Private m_wkbk As Microsoft.Office.Interop.Excel.Workbook Private m_wksht As Microsoft.Office.Interop.Excel.Worksheet m_xls = New Application m_xls.Visible = False : m_xls.DisplayAlerts = False m_wkbk = m_xls.Workbooks.Open(Me.FilePath) m_wksht = CType(m_wkbk.ActiveSheet, Worksheet) '…Write some data…' m_wkbk.SaveAs(Me.FilePath, XlFileFormat.xlWorkbookNormal, Missing.Value, […]

如何selectc#的Excel.Range对象中的工作表中的所有单元格?

我试图selectExcel中的所有单元格的Excel.Range对象的C#应用​​自动拟合,边框等我有一些合并的单元格内的单元格。 有没有简单的伎俩这样做?

使用EPPlus生成的Excel文件中的不可读内容

使用EPPlus库从模板生成Excel文件时遇到了一些问题。 该文件具有第一个电子表格,其中包含用于填充下表中的数据透视表的数据。 当我打开生成的文件时,出现以下错误信息:“Excel中发现'sampleFromTemplate.xlsx'中的不可读内容。是否要恢复此工作簿的内容?我相信此工作簿的来源,单击是。 我显然是单击是,然后得到对文件进行修复的摘要,并链接到一个XML格式的日志文件,其中包含: <?xml version="1.0" encoding="UTF-8" standalone="true"?> <recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"> <logFileName>error095080_01.xml</logFileName> <summary>Errors were detected in file 'C:\TEMP\sampleFromTemplate.xlsx'</summary> <repairedRecords summary="Following is a list of repairs:"> <repairedRecord>Repaired Records: Table from /xl/tables/table1.xml part (Table)</repairedRecord> </repairedRecords> </recoveryLog> 这显然是由我在代码中定义的指定范围(“Table1”)引起的,以指示要用于数据透视表的数据。 在名为“Table1”的模板中已经有一个“Table Name”,但是我似乎无法通过ExcelPackage.Worksheet.Names集合来访问它。 作为EPPlus的新人,并没有用Excel做很多实验,我不明白我做错了什么。 以下是我生成文件的一些代码: private string GenerateFromTemplate(string fileName, string templateName, DataTable tab) { FileInfo newFile = new FileInfo(string.Format("C:\\MyPath\\{0}.xlsx", fileName)); FileInfo templateFile […]

VSTO Excel 2007插件无法从networking共享进行安装

我有一个VSTO插件,我发布在networking共享。 在我的公司,每个人都可以从networking共享安装和更新这个应用程序。 在域之外,我无法安装这个定制。 我得到以下错误: 细节: ************** Exception Text ************** System.Security.SecurityException: Customized functionality in this application will not work because the certificate used to sign the deployment manifest for flow or its location is not trusted. Contact your administrator for further assistance. at Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInTrustEvaluator.VerifyTrustPromptKeyInternal(ClickOnceTrustPromptKeyValue promptKeyValue, DeploymentSignatureInformation signatureInformation, String productName) at Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInTrustEvaluator.VerifyTrustUsingPromptKey(Uri manifest, DeploymentSignatureInformation signatureInformation, String productName) […]

如何写一个Excel工作簿到.NET中的MemoryStream?

如何在不将其保存到文件系统的情况下将Excel工作簿写入MemoryStream ? Microsoft.Office.Interop.Excel.WorkBook保存选项中的所有选项都取一个文件名。

使用C#读取/写入Excel文件(.xls / .xlsx)

如何在C#中读写Excel文件? 我已经将Excel对象库添加到了我的项目中,但是我没有得到足够清晰的描述来访问这些文件需要做什么。 请帮助我理解,并在解释时,请记住,我是一个新的,但我不是一个完整的新手。 我学习了很多,所以我不完全无知。

以编程方式创buildExcel 2007工作表

我正尝试以编程方式创buildExcel 2007文档。 现在,我find了两种方法: 手动创buildXML,如本文所述 使用ExcelPackage等第三方库。 目前,我使用ExcelPackage,它有一些非常严重的缺陷和问题。 因为我不需要创build过于复杂的Excel工作表(最“复杂”的是我明确需要设置一个单元格types为数字或文本),我正在寻找接下来的选项1,但我只是想知道是否有任何其他良好和受支持的方式来生成Excel 2007表? 奖励点数,如果他们可以创build,而不必将其保存到硬盘,即生成并直接输出到一个stream。 .net 3.0是这里的目标,没有3.5善良:( 编辑:到目前为止感谢。 XML SDK确实只有3.5,但是俄罗斯的Roulet … erm … COM Interop也是我想尽可能避免的事情,特别是因为Excel 2007有一些复杂但是很容易创build的文档格式。 我会看看发布的各种链接和提示。