草庐IT

excel-interop

全部标签

c# - 读取一个大的 Excel 文档

我想知道在Excel中读取单元格的最快方法是什么。我有一个包含50000行的Excel文件,我想知道如何快速阅读它。我只需要阅读第一列,使用oledb连接需要15秒。有没有更快的方法?谢谢 最佳答案 这是一个依赖于使用Microsoft.Office.Interop.Excel的方法。请注意:我使用的Excel文件只有一列包含50,000个条目的数据。1)用Excel打开文件,保存为csv,关闭Excel。2)使用StreamReader快速读取数据。3)将数据拆分回车换行后添加到字符串列表中。4)删除我创建的csv文件。我使用Sy

c# - 从上传的 Excel 文件中获取数据而不保存到文件系统

我有一个要求,允许此ASP.NETWeb应用程序的用户上传特定格式的Excel电子表格,用电子表格中的数据填充数组,并将数组绑定(bind)到Oracle存储过程以进行验证和插入数据库.我必须能够从Excel电子表格中读取数据,而不能将其保存到Web服务器的硬盘上。这是我不知道该怎么做的部分。这是一个简单的代码示例。//C#Code-BehindprotectedvoidButton1_Click(objectsender,EventArgse){varpostedFile=FileUpload1.PostedFile;//...Readfileinmemoryandputinform

c# - Winforms WPF Interop - WPF 内容无法绘制

我有一个WinForm,它使用ElementHost来显示WPFUserControl。每50次左右一次,当窗体加载WPF内容时无法绘制。您可以透过WinForm镶边看到下面的任何内容。调整窗口大小会显示WPF内容。这是一个已知问题吗?谁能建议解决方法? 最佳答案 我们以前遇到过这类问题。请参阅此WPF论坛post有关我们特定口味的更多信息(我不知道这是否是同一问题)。我们发现唯一可行的方法是更改ElementHost的大小。_elementHost.Width++;这是一个彻头彻尾的黑客,丑陋的,我什至都不好意思发布它。但没有别的

c# - 将数据表转换为 excel 2007(.xlsx)

我有一个DataTable,我需要将其转换为Excel2007格式并将其另存为excel文件(.xlsx)2007。谁能帮我实现这个目标? 最佳答案 您可以使用OLEDB数据提供程序并将Excel视为另一个ADO.NET数据源,以便遍历您的DataTable行并将它们插入到Excel电子表格中。这是一篇Microsoft知识库文章,它向您介绍了很多细节。http://support.microsoft.com/kb/316934/en-us要记住的重要一点是,您可以在工作簿中创建工作簿和工作表,并且可以通过在名称末尾附加“$”来引用

c# - 使用 EPPlus Excel - 如何忽略 excel 错误检查或删除单元格左上角的绿色标记

我使用EPPlus导出excel2007文件。该文件可以正常导出,但我在设置列格式时遇到了一些问题。我的带有数字样式的字符串列(采购订单号,例如49000001)在每个单元格的左上角带有绿色标签导出,如何删除它?我尝试将数字格式设置为“常规”,但它不起作用请帮忙。p.s我用的是C# 最佳答案 EPPLus目前不支持禁用那个绿色标签。但是,可以修改项目以抑制它。首先,您需要向项目添加一个新类ExcelIgnoredError.cs:usingSystem;usingSystem.Collections.Generic;usingSys

c# - 将 Excel 2010 插件转换为 2007 插件(均为 VSTO)

我目前正在开发Excel2010加载项,该加载项以前是Excel2007加载项。在切换计算机的过程中,我认为加载项已被转换。我的一些客户表示该加载项不再适用于Excel2007,因此我尝试在安装了Excel2007和VisualStudio2010的VirtualBox中对其进行调试。现在我收到错误消息:Youcannotdebugorrunthisproject,becausetherequiredversionoftheMicrosftOfficeapplicationisnotinstalled.我开始了一个新的Excel2007加载项项目,并试图找出差异是什么,并提出它与dll

c# - 使用 NPOI 将 Excel 导出到 DataTable

我想使用NPOI读取ExcelTables2010xlsx,然后将数据导出到DataTables,但不知道如何使用它。任何人都可以一步一步地告诉我如何将Excel导出到数据表吗?我已经下载了NPOI.dll,添加到引用但不知道进一步... 最佳答案 下面是关于使用NPOI将Excel文件转换为DataSet的最少代码:IWorkbookworkbook;using(varstream=newFileStream(excelFilePath,FileMode.Open,FileAccess.Read)){workbook=newHSS

c# - Excel.Workbook.SaveAs(...) 同名文件

我正在处理xls文件。如何使用与Windows桌面相同的文件名+"(copy1)"保存它(如果存在)。方法saveCommande(...)if(!Directory.Exists(System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)+"EE_Commande_Fournisseur")){Directory.CreateDirectory(System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)+"\\EE_C

C# 和 Excel 互操作

我的一位用户在尝试通过我的C#应用程序打开Excel文件时遇到问题。当我从我的机器上运行它时,一切正常,它对其他用户也有效。我不是Excel互操作专家,所以希望你们能帮助我。这是它的设置方式:我在Microsoft.Office.Interop.Excel.dll版本10.0.4504.0(我认为是Excel2002)中添加了对我的应用程序的引用。我的机器上安装了Excel2007。在我的代码中,我尝试像这样打开一个工作表:usingMicrosoft.Office.Interop...Microsoft.Office.Interop.Excel.ApplicationClass_ex

c# - 异常(HRESULT : 0x800AC472) when using Excel. 工作表。调用 Excel.Workbook.SaveAs 后选择

我正在打开一个xlsx文件并将每张纸保存到一个csv文件中。保存的相关代码如下:inti=0;foreach(Excel.Worksheetsinapp.ActiveWorkbook.Sheets){s.Select(true);//ErrorhereStringoutfile=outputpath+"("+i+")"+outputfilename+".csv";wkb.SaveAs(outfile,Excel.XlFileFormat.xlCSVMSDOS);++i;}输出文件名或路径没有问题,输出文件不存在。它保存前两张纸然后崩溃。我尝试使用具有4张纸的不同输入文件,它运行良好,所