Tag: epplus

EPPLUS如何使用find命令查找数据

我正在使用EPPLUS在C#.NET 4.0中编写一个应用程序,并尝试加载一个巨大的20mb excel文件。 我想使用Find或Findall方法在工作表中查找特定的string。 任何人都可以请分享如何做到这一点,因为在互联网上没有这方面的信息。 我想避免读取所有的细胞,因为它需要很多时间。 我想find特定的string,只是复制该特定的行而不读取整个表。 谢谢。

如何在Epplus中使用条件格式?

我想为空值设置条件格式,我怎么能在asp.net中做到这一点? 截图:

将列表validation添加到除前两行之外的列

我想添加一个下拉列表(validation)创buildExcel时,我已经find了将其添加到整个列的方式,但我的scheme是不同的,因为我只将validation添加到除第一行和第二行以外的整个列。 这是我迄今为止所尝试的: public MemoryStream GetExcelSheet() { using (var package = new ExcelPackage()) { ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Test"); var val = worksheet.DataValidations.AddListValidation("A:A"); val.Formula.Values.Add("Male"); val.Formula.Values.Add("Female"); val.ShowErrorMessage = true; worksheet.Cells["A1"].Formula = null; var stream = new MemoryStream(package.GetAsByteArray()); return stream; } } 我试图取消它: worksheet.Cells["A1"].Formula = null; 希望它会删除某个单元格的validation,但它不工作。 我也试过了 var val = worksheet.DataValidations.AddListValidation("A2:A"); 指定起始行号但生成的Excel文件已损坏。 对此有任何帮助吗?

使用EPPlus按列sortingExcel

我正在使用EPPlus生成Excel工作簿。 我试图弄清楚如何: 按特定列(相当于单击Excel中的sortingAZ)对工作表进行sorting或… 设置特定列的AutoFilter的sorting顺序 感谢任何帮助,谢谢!

如何使用EPPLUS或其他Excel生成库中的导入Xmlfunction?

我正在阅读一些非常旧的post,XML导入function将在EPPLus中实现。 目前是否实施? 如何将数据导入到具有映射到其单元格的XML的Excel文档中。 我不能使用互操作服务,因为excel文件很大,我使用EPPLUS库中的许多工具来填充数据。 还是应该用Interop库重写所有这些填充?

EPPlus – 保存InvalidOperationException

我正在尝试使用EPPlus保存文件,但是我一直在Save()行上收到一个InvalidOperationExceptionexception。 System.IO.File.Copy(strSource, strNewNotePath, true); ExcelPackage xlPackage = new ExcelPackage(new FileInfo(strNewNotePath)); xlPackage.Save(); InnerException说:“索引超出范围,必须是非负数,小于集合的大小。\ r \ n参数名称:索引”。 Excel文件只有很less的内容 – 只有几个绘图项目 – 圆angular矩形,文本框,然后是两个单元格,其中包含一些数据。 任何人有任何想法可能是什么原因造成的? 谢谢

EPPlus如何检查循环引用?

我正在使用EPPlus库build立一个excel文件,并想知道是否有一种方法使用这个库来检查公式中的循环引用? 我知道Microsoft Interop具有Range CircularReference {get; } ,但我试图避免使用它。

C#加载xlsx文件的性能不好

我有一个关于在C#中加载Excel(Xlsx)文件的问题。 我已经用NPOI 2.0实现了Excel加载,但性能非常差(加载时间为15到25秒,10000行和60列)(运行在Win7上,带有Intel(R)Core TM i5-3210M CPU @ 2.50GHz(4 CPU),〜2.5GHz))。 我以为这是因为NPOI 2.0还在testing阶段,所以我尝试了另外一个名为EPPlus的库,并且加载Excel文件的时间也相当长。 以下是我如何使用EPPlus加载它: var existingFile = new FileInfo(path); var excelData = new ExcelViewModel(path); // Open and read the XlSX file. using (var package = new ExcelPackage(existingFile)) { // Get the work book in the file ExcelWorkbook workBook = package.Workbook; if (workBook != null) { // Here […]

EPPlus:引用其他工作表的公式

我需要公式 ='C:\awp\API\dde\awp.xla'!blp(A" + i + ";$B$1) 并试图这样: ws.Cells[i, 2].Formula = @"'C:\awp\API\dde\awp.xla'!blp(A" + i + ";$B$1)"; 结果是“不可读的内容”:由Excel删除的一个破碎的公式。 如何在EPPlus的另一个工作表中引用单元格? 感谢您的input!

从Excel中删除行

以下是我尝试的方法: 答)我试图使用Microsoft.Office.Interop.Excel从Excel表中删除行。 我在SSIS包中的脚本任务中这样做。 我将库添加到GAC,因为它提出了一个错误: Could not load Library 。 现在,它引发这个错误说: Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80040154 。 谷歌search这告诉我,我需要MS Office安装它的工作,我不希望因为我部署这个解决scheme的服务器是绝对不会有MS Office安装在它上面。 我不是专家,但我想知道为什么这样的操作是不可能的,通过简单地添加引用一个DLL? 为什么必须安装MS Office。 B)我也尝试过Oledb jet jet provider,但是这个不允许删除行。 它支持的唯一操作是插入,更新和select。 我在网上遇到的事情: A) SO问题的答案build议使用Npoi ,但我不能完全依靠这个,因为今天免费的图书馆可以在未来得到支付。 B)我也遇到了EPP Plus库。 我已经使用它,并明白它是基于GNU公共许可证,但我担心使用它,因为它可能成为未来的付费工具。 C)我也遇到过使用Microsoft的Open XML SDK的人。 在我弄脏手之前,如果有人先告诉我是否应该使用这个,我会很喜欢。 不是我懒得自己尝试一下,但是我开始之前对我有什么帮助的是,这个SDK是否需要安装在机器上的任何外部程序。 因为它需要我安装一个msi才能够使用它。 有没有办法使用Microsoft COM组件来做到这一点? 我不是在这里问一个主观的问题。 […]