Tag: epplus

我如何预测下一个单元格的位置? (写出总计)

你知道当你从一个单元格复制Excel中的单元格到下一个单元格时,公式自动地将=Sum(A1+$B1)replace为=Sum(C1+$B1) ? 我想知道如何实现类似的东西,除了编程完成。 这就是我想要达到的效果,我有一个表格,一个地方的收入行和列的项目,这是预先摆动的数据,如果你想知道,我想完成它与盛大总计,这是最初的失踪。 Place | Beans | Buns | Breads | etc Bobby's | 550 | 20 | 30 | 10 Sen's | 550 | 20 | 30 | 10 Solaire's | 550 | 20 | 30 | 10 现在,我将在最后一行下面多写一行,在最后一行旁边多写一行,标题为[总计]。 所以,我猜测我将需要一个for循环来运行我要生成的最后一行。 像这样的东西: For (int i = 2; i < numberofColumns; i++) { string query […]

EPPLus不返回文件

EPPLus没有返回文件。 生成或控制台错误没有错误。 networking选项卡显示完成200 OK。 public ActionResult DownloadExcel(EntityReportModel erModel, string filename) { var dataResponse = iEntityViewService.LoadEntityView(new EntityViewInput { SecurityContext = SessionCache.Instance.SecurityContext, EntityViewName = "Ticket", Parameters = new Dictionary<string, object> { {"MinTicketDateTime", "04/26/16"} } }); var table = dataResponse.DataSet.Tables[0]; filename = "NGLTICKETS"; MemoryStream stream = new MemoryStream(); using (ExcelPackage pack = new ExcelPackage()) { ExcelWorksheet ws = […]

当保存文档时,EPPlus抛出“给定的键不在字典中”

我在一个ASP.Net MVC应用程序中使用EPPlus和C#来从存储系统中读取一个excel文档。 它作为一个字节数组(byte [])返回给方法。 我将字节数组转换为stream,然后转换为ExcelPackage并修改现有工作表上的单元格。 当我将ExcelPackage转换回stream时,作为FileStreamResult被提供给调用浏览器。 当我执行行MemoryStream ms = new MemoryStream(excel.GetAsByteArray()); 我得到了上面引用的exception。 public ActionResult Export(string id) { // Get the Excel document from storage MemoryStream ohDoc = new MemoryStream(); ohDoc.Write(doc.data, 0, doc.data.Length); ohDoc.Position = 0; ExcelPackage excel = new ExcelPackage(ohDoc); var workBook = excel.Workbook; var bidInfo = excel.Workbook.Worksheets["BID INFO"]; var recap = excel.Workbook.Worksheets["RECAP"]; // Modify […]

使用EPplus检查每个单元的数据是否可用

我正在使用Epplus上传文件。我有两个.xlsx格式的表。我想确保每个单元格都有价值。例如在我的Excel中,我有下拉框。如果用户在第一张和第二张是空的。但是这个空白表只有一个值,它是通过使用这个下拉列表错误地添加的。所以在这个阶段,当它进入这个循环时它将显示对象空引用错误 for (int rowIterator = 2; rowIterator <= noOfRow; rowIterator++) { if (int.TryParse(s.Cells[rowIterator, 1].Value.ToString(), out n) && int.TryParse(s.Cells[rowIterator, 2].Value.ToString(), out n)) { Pss.Pbr = Convert.ToInt32(s.Cells[rowIterator, 1].Value); Pss.Amount = Convert.ToInt32(s.Cells[rowIterator, 2].Value); Ps.Add(Pss); } } 如何validation所有列和行都有值

使用Epplus格式化特定列不保存

我正在使用EPPlus并遍历工作簿中每个工作表的所有列。 我试图用包含单词“NUMBER”作为数字格式的标题格式化每一列。 它运行,并在设置数字格式的断点处打开,但是,当我打开电子表格时,列仍被格式化为文本。 任何帮助将非常感激。 private void cleanSpreadSheet(string fileName) { // set all columns with a header of number to numeric type FileInfo existingFile = new FileInfo(fileName); var package = new ExcelPackage(existingFile); ExcelWorkbook wb = package.Workbook; foreach (ExcelWorksheet workSheet in wb.Worksheets) { var start = workSheet.Dimension.Start; var end = workSheet.Dimension.End; for (int col = start.Column; col […]

在Excel工作表中加载tsv / csv文件

这是我的代码。 public static string LoadPackage(DirectoryInfo outputDir, string name) { FileInfo newFile = new FileInfo(outputDir.FullName + @"\test.xlsx"); if (newFile.Exists) { newFile.Delete(); newFile = new FileInfo(outputDir.FullName + @"\test.xlsx"); } var format = new ExcelTextFormat(); format.Delimiter = '\t'; format.SkipLinesBeginning = 1; using (ExcelPackage package = new ExcelPackage()) { LoadSheet(package, outputDir, name); package.SaveAs(newFile); } return newFile.FullName; } 之后,我调用LoadSheet方法,以填补我的Excel文件从TSV文件。 public […]

使用EPPlus将所有列名迭代并添加到ComboBox

我需要将表单中的列名称添加到combobox 我已经尝试了以下 var pck = new OfficeOpenXml.ExcelPackage(); pck.Load(new System.IO.FileInfo("test.xlsx").OpenRead()); var ws = pck.Workbook.Worksheets[1]; int totalCols = ws.Dimension.End.Column; for (int i = 1; i <= totalCols; i++) { comboBox1.Items.Add( (ws.Column(i).ToString())); } } 但是这会产生一个空引用exception。 请指教。

在EPPLUS RichText中插入文本

我正在使用EPPLUS来写入excel文件,并且我正在使用一些单元格的多样式,问题是我想在这些单元格的特定位置插入文本。 worksheet.Cells[rowNum, columnNum].RichText.Text.Insert(index, string); 原来,上面的代码行会尝试在indexth元素中插入string而不是indexth字符。 我也试过这个: worksheet.Cells[rowNum, columnNum].RichText..Text.Insert(index,string); 没有string也使用这个插入。 我正在考虑计算每个RichText元素的长度,并向RichText添加一个新元素,其中以前元素的长度= index,但是我正在寻找更好的解决scheme。

EPPlus Excel在1900.01.00之前使用DateTime报告

我想在EPPlus的帮助下创buildExcel报表,但在1900.01.00之前提交date。 在Excel工作表中,它会转换为负数或在Excel中的date位置出现一长串“##### …”行。 我已经设置了格式,但没有帮助: workSheet.Column(columnIndex).Style.Numberformat.Format = "yyyy.mm.dd."; 我用这个页面: http://www.c-sharpcorner.com/article/export-to-excel-in-asp-net-mvc/

如何使用EPPlus for Excel 2010添加条件格式

我正在使用Epplus库添加条件格式到现有的Excel电子表格中,并使用以下代码: var conditionalFormatting = worksheet.Cells[address].ConditionalFormatting.AddExpression(); conditionalFormatting.Formula = $"=IF(EXACT(A1, \"\"), IF(EXACT(B1, \"\"), TRUE, FALSE), FALSE)"; conditionalFormatting.Style.Fill.BackgroundColor = errorColor; 此代码似乎工作正常,因为当我用Excel 2016打开电子表格,我可以看到适当的行为。 我的问题 在使用Excel 2010打开相同的电子表格时,我收到以下消息: Excel在“Spreadsheet.xlsx”中发现了不可读的内容。 你想恢复这个工作簿的内容? 恢复内容:Excel提示: 已删除的function:从/xl/worksheets/sheet1.xml部分进行条件格式化 这有没有发生过其他人? 我认为EPPlus图书馆应该与Excel 2007+工作正常 有谁知道任何解决方法?