Tag: epplus

Epplus:如何将样式从Excel样式库应用到ExcelRange

该屏幕截图显示了由Epplus导出到新鲜Excel文件(文件types* .xlsx)的数据集的场景。 在这种情况下,我想将Excel样式库中的“错误”样式应用于单元格E1。 我怎样才能在Epplus中以编程方式执行此操作? 我已经浏览了我在这里和这里find的指导性文件。 我还没有find一个示例显示如何将Excel样式从样式库应用到Excel范围。 这是我迄今为止。 private void FormatDataTable(ExcelWorksheet worksheet) { if(RowCount==0) { // How do I apply the "Bad" style to this range? var range = worksheet.Cells["E1"]; } }

EPPlus超链接到另一个工作表中的单元格

我努力将超链接添加到我生成的Excel文件的另一个列表。 我试过这样的: ws.Cells[1, 1].Formula="HYPERLINK(\"[#]'sheetName'!R4C1\";\"linktext\")" ws.Cells[1, 1].Formula="HYPERLINK(\"#'sheetName'!R4C1\";\"linktext\")" ws.Cells[1, 1].FormulaR1C1="HYPERLINK(\"[#]'sheetName'!R4C1\";\"linktext\")" ws.Cells[1, 1].FormulaR1C1="HYPERLINK(\"#'sheetName'!R4C1\";\"linktext\")" 在excel 365(完全脱机应用程序)中打开生成的excel文件后,我只是得到消息,文件中有错误,所有使用这个超链接公式的单元格都是空的。 错误消息是: we found a problem with some content in FILENAME do you want us to try to recover as much as we can 如何使其工作? 另外当我把相同的公式手动它工作。 完整的代码: using OfficeOpenXml; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ExcelHyperlinkTest { […]

写入Excel:无法使用EPPLUS访问封闭的stream

我环顾四周,大多数情况下我看到比我自己更复杂的问题的例子。 所以,我build议使用EPPLUS而不是EXCEL INTEROP,因为性能有所提高。 这是我第一次使用它,也是第一次遇到内存stream,所以我不确定这里有什么问题。 我正在尝试写入Excel文件并将该Excel文件转换为PDF。 为此,我通过NUGET安装了以下内容: EPPLUS EPPLUSExcel 这是我的代码: if (DGVmain.RowCount > 0) { //Source OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Excel Files|*.xls;*.xlsx"; openFileDialog.ShowDialog(); lblSuccess.Text = openFileDialog.FileName; lblPathings = Path.ChangeExtension(openFileDialog.FileName, null); int count = DGVmain.RowCount; int current = 0; int ballast = 0; 对于DataGridView中的每一行,执行写入Excel,然后转换为PDF。 foreach (DataGridViewRow row in DGVmain.Rows) { //Drag if (lblSuccess.Text == […]

如何在EPPLUS语法中编写此Excel Interop语法

有人build议我通过使用对象使其更易于pipe理来改进我的代码: string[,] values = new string[15, 35]; //or objects values[7, 7] = "2016"; values[7, 28] = drag24; values[7, 33] = drag25; values[10, 8] = digit1; values[10, 11] = digit2; // etc. Range range = WS.Range[WS.Cells[1, 1], WS.Cells[15, 35]]; range.Value = values; 他的build议,但自从我从互操作转移到EPPLUS,以下语法不再起作用。 Range range = WS.Range[WS.Cells[1, 1], WS.Cells[15, 35]]; 在EPPLUS语法中,这种外观的工作forms是什么? 用这个代替它没有正确的工作,并replace了工作表中的所有内容: ExcelRange range = WS.Cells["A1: […]

为什么在计算4000行公式时,EPPlus Calculate()会变慢?

EPPlus 4.1需要2秒来计算一个命名范围的4000个公式。 每行都是testing用途的简单公式(= $ D $ 8 + I14) – 实际公式使用MATCH和VLOOKUP,每次需要30秒。 我们重新计算232次,迭代一组input。 在不更改电子表格的情况下,是否有任何想法来提高性能? 谢谢

列不执行公式Excel / C#/ EPPlus

我有这个Excel工作表,我用EPPlus的C#.NET应用程序产生,我有一个公式,除非我手动单击单元格,然后按Enter键将不会执行。 这是我当前的输出(第一个值是F列,第二个是G): 02:10:58 04:30:00 =F1/G1 01:50:52 04:06:00 =F2/G2 这应该是这样的: 02:10:58 04:30:00 0,485061728 01:50:52 04:06:00 0,450677507 C#端的值初始化为string,这可能是导致错误的原因: string performance = "=F" + (list.Count + 2) + "/G" + (list.Count + 2) 有没有解决方法或其他方式来初始化我的专栏,以直接显示用户的价值? 谢谢! 编辑 创buildexcel文件的代码 ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Informations_OF"); worksheet.Cells["A1"].LoadFromCollection(list.ToListExport(), true); worksheet.Cells[worksheet.Dimension.Address].AutoFitColumns();

EPPLUS在插入时复制string

我想插入文本到RichText中,当插入的string的索引位于元素的末尾时,下一个元素被复制! 这里是一个例子: worksheet.Cells[rownum + 100, column].RichText.Add("first "); worksheet.Cells[rownum + 100, column].RichText.Add(" second"); worksheet.Cells[rownum + 100, column].RichText.Text = worksheet.Cells[rownum + 100, column].RichText.Text.Insert(6, "Inserted"); 结果:“第一次插入第二秒” 这是正常的行为? 因为我期待得到: “第一插入第二”

C#Epplus将字节文件保存为桌面应用程序中的XLS

我需要将ExcelPackage保存为XLS文件。 我尝试这样做,我知道如何更改Web应用程序中的内容types,但我无法在桌面环境中find任何解决scheme。 现在我正在使用这个代码: using (ExcelPackage p = new ExcelPackage()) { string filename = "OCL_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"; string PathToCSV = "App_Data/OCL/"; string OCLfolder = AppDomain.CurrentDomain.BaseDirectory + PathToCSV; string savepath = OCLfolder + "/" + filename; System.IO.FileInfo strfilePath = new System.IO.FileInfo(savepath); //create a new workbook p.Workbook.Properties.Created = DateTime.Now; p.Workbook.Properties.Title = filename; //create a new worksheet […]

“索引超出了数组的范围”exceptionC#

我试图保存Excel工作簿,但是,我收到exception“索引超出数组的界限”。 这是代码: public static void Update() { FileInfo newFile = new FileInfo(@"C:\Users\"); using (ExcelPackage p = new ExcelPackage(newFile)) { ExcelWorkbook work = p.Workbook; ExcelNamedRange sourceRange = work.Names["NewTakt"]; ExcelNamedRange destinationRange = work.Names["PreviousTakt"]; ExcelWorksheet worksheet = sourceRange.Worksheet; int iRowCount = sourceRange.End.Row – sourceRange.Start.Row + 1; int iColCount = sourceRange.End.Column – sourceRange.Start.Column +1; for (int iRow = 0; […]

asp.net检查一个来自Response.OutputStream的文件是否被保存/打开

我正在build立一个Excel文件(使用EPPLUS)的网页上,该文件提供了保存或打开文件的选项。 Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", "attachment; filename=Excel_List.xlsx"); package.SaveAs(Response.OutputStream); Response.End(); 这工作正常。 我只是想知道如何检查用户是否打开/保存文件? 有没有事件?