Tag: npoi

无法忽略错误此单元格中的公式指的是具有与其相邻的其他数字的范围。使用NPOI

我们正在使用NPOI工具在Web应用程序中处理Excel文件下载。 我在NPOI API的C#中使用了“SUM(A5:A100)”公式,我得到了这个错误/警告“这个单元格中的公式是指一个范围,它有附加的数字”,是的,它有数字相邻的细胞。 我通过在MSExcel选项 – >公式 – >错误检查规则中取消选中“省略区域中的单元格的公式”来省略此错误。 如何在使用C#代码中做到这一点。 我们试过这个解决scheme,但没有运气 提前致谢。 我正在使用NPOI工具

从Azure下载的Excel文件格式不正确

我正在构build一个ASP.NET WebForms应用程序,我遇到一个问题,我不知道是什么导致它。 我正在使用NPOI C#库生成Excel(.xls)文件,并且本地一切正常,但是我在Azure上托pipe了该项目,并且在下载电子表格时,它不是自动生成的,列太薄细胞内容。 我有一个从ajax请求调用的端点。 它生成的电子表格返回一个字节数组,在客户端我处理用户将如何下载它。 success: function(data) { var arr = data.d; var byteArray = new Uint8Array(arr); var a = window.document.createElement('a'); a.href = window.URL.createObjectURL(new Blob([byteArray], { type: 'application/vnd.ms-excel' })); a.download = 'myspreasheet'; // Append anchor to body. document.body.appendChild(a); a.click(); // Remove anchor from body document.body.removeChild(a); } 自动化列的NPOI方法很简单: sheet.AutoSizeColumn(0); sheet.AutoSizeColumn(1); …. 所以,我不认为这是措施文化或类似的问题。

C#:如何评估使用NPOI或任何其他库的名称范围组成的Excel公式

我在Excel单元格中使用名称pipe理器定义的名称范围中有一个公式。 我如何评估使用NPOI或任何其他库在C#中的公式? 例如:我有下面的公式 =IF(ISBLANK(\_NameRange1\_),"0",2) 其中_NameRange1_被定义为"Sheet1!$A$9:$DS$9"

使用POI读/写XLSM

我在我的C#代码中使用POI几个星期,我发现和问题,我不能解决:Xlsm。 我必须打开一个xlsm模板,编辑并保存它。 该模板包含macros,但我只是将数据添加到xlsm文件。 其实,我认为,阅读和编​​辑工作find(感谢在vs中debugging),问题是当我试图写…代码工作,没有错误,但是当我试图用Excel打开它,它崩溃.. FileStream temp = new FileStream(xlsm_file, FileMode.Open, FileAccess.ReadWrite); XSSFWorkbook workbook = (XSSFWorkbook)WorkbookFactory.Create(temp); XSSFSheet sheet = (XSSFSheet)workbook.GetSheetAt(0); workbook.SetSheetName(0, sheetname.Substring(0, Math.Min(sheetname.Length, 30))); temp.Close(); FileStream toWrite = new FileStream(xlsm_file, FileMode.Open, FileAccess.ReadWrite); workbook.Write(toWrite); toWrite.Close(); 例如,即使这崩溃.. 有人有想法吗? 谢谢 !

尝试使用NPOI编辑现有Excel文件的单元格值

我写了下面的代码来编辑使用C#和NPOI库的Excel文件。 没有错误,但是如果我打开文件运行代码后,单元格的值不会被编辑。 我究竟做错了什么? namespace Project37 { class Class1 { public static void Main() { string pathSource = @"C:\Users\mvmurthy\Downloads\VOExportTemplate.xlsx"; FileStream fs = new FileStream(pathSource, FileMode.Open, FileAccess.ReadWrite); HSSFWorkbook templateWorkbook = new HSSFWorkbook(fs, true); HSSFSheet sheet = (HSSFSheet)templateWorkbook.GetSheet("ImportTemplate"); HSSFRow dataRow = (HSSFRow)sheet.GetRow(4); dataRow.GetCell(1).SetCellValue("foo"); MemoryStream ms = new MemoryStream(); templateWorkbook.Write(ms); } } }

如何从Excel(xls和xlsx)使用NPOI(C#)将graphics转换为图像

我正在写代码来使用C#和NPOI (版本2.2.1 )库从Excel( .xls和xlsx )中获取包括形状的所有图像。 其目的是从选定的Excel文件中获取包括形状的所有图像,然后将其保存到指定的目录。 经过一段时间trial-error并浏览任何引用,我能够使用此代码(我把代码读取xls格式)从Excel中获取所有图像, var lst = workbook.GetAllPictures(); for (int i = 0; i < lst.Count; i++) { var pic = (HSSFPictureData)lst[i]; byte[] data = pic.Data; /*Save Image From Byte[]*/ } 但是,我不能使用该代码在Excel中的形状,所以我试图find任何其他方法,最后我发现了一些代码,可以得到列表中的图像和形状存在Excel工作表, 这里的代码片段(也是用于读取xls格式文件的代码), var dr = workbook.GetSheetAt(sht).DrawingPatriarch; HSSFPatriarch pat = (HSSFPatriarch)dr; var shape = pat.Children; int i = 0; foreach (var s […]

NPOI如何获得非褴褛的右栏

我有一个需要parsing成.csv文件的excel ( .xls )文件。 我正在为c#使用NPOI库的最新稳定版本。 问题是我越来越破旧的CSV而不是得到规范化的行大小。 Excel文件中的数据是什么样的 输出的csv文件是: “名字”,“中间名”,“姓氏”,“普农” “约翰”, “L”, “李四”, “555-555-5555” “小”,“丁”,“蝙蝠” “罗杰”, “d”, “兔子”, “123-456-7890” 我想为它发生的是在第二个数据行(“蝙蝠”)后面添加一个额外的分隔符,如下所示: “名字”,“中间名”,“姓氏”,“普农” “约翰”, “L”, “李四”, “555-555-5555” “小”,“丁”,“蝙蝠”, “罗杰”, “d”, “兔子”, “123-456-7890” 这是我的代码: public override bool ParseFile() { FileStream iFile = new FileStream(InputFileName, FileMode.Open); HSSFWorkbook wb = new HSSFWorkbook(iFile); ExcelExtractor extractor = new ExcelExtractor(wb); extractor.IncludeBlankCells = true; bool […]

使用NPOI从Excel中读取区域date

我有一些使用NPOI读取Excel表格的代码。 这是一个示例: var hssfworkbook = new NPOI.HSSF.UserModel.HSSFWorkbook(Data); var sheet = hssfworkbook.GetSheetAt(0); System.Collections.IEnumerator rows = sheet.GetRowEnumerator(); while (rows.MoveNext()) { // read a date from column 0 var value = rows.Current.GetCell(0, MissingCellPolicy.RETURN_NULL_AND_BLANK); } 此代码适用于大多数date,但是,如果您在Excel中格式化date作为区域date,则它不起作用(返回的值为空) 我怀疑在API中可能会有一些东西来处理这个问题,但是我不能在我的生活中解决这个问题。 任何人都有线索?

如何使用NPOI从Excel文件中的单元格读取所选下拉列表值?

我有一个Excel文件(xls),其中包含一系列下拉列表在F列在第一张表。 每个下拉列表包含7个以上的选项,都是string。 每一行都有一个不同的值。 下面是下拉列表最初是如何使用Microsoft.Office.Interop创build的: Application xlApp = new ApplicationClass(); Workbook xlWorkBook = null; Worksheet xlWorkSheet = null; object misValue = System.Reflection.Missing.Value; xlWorkBook = xlApp.Workbooks.Add(misValue); xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); Microsoft.Office.Interop.Excel.Range dropDownRange = xlWorkSheet.get_Range("F" + index, misValue); Microsoft.Office.Interop.Excel.DropDowns dropDowns = (Microsoft.Office.Interop.Excel.DropDowns)xlWorkSheet.DropDowns(misValue); Microsoft.Office.Interop.Excel.DropDown dropDown = dropDowns.Add((double)dropDownRange.Left, (double)dropDownRange.Top, (double)dropDownRange.Width, (double)dropDownRange.Height, true); string[] currency = Config.listofCurrency(); for (int i = 0; […]

如何使用npoi读取xls / xlsx来获取单元格边框的颜色

我使用npoi来读取Excel(xls / xlsx)并使用reogrid控件将其复制到我的Windows窗体应用程序。 这是我用来打开Excel文件的代码: IWorkbook workbookNpoi = WorkbookFactory.Create(FileName) 然后我按行和单元格读取Excel文件 for(int rowIndex = 0; rowIndex < workbookNpoi.LastRowNum; rowIndex){ //TODO check for null rows ….. foreach(ICell cell in row.Cells){ short color = cell.CellStyle.TopBorderColor; Console.WriteLine(color); //check also for remaining borders } } 现在,输出值是8倍,有些倍64.我如何将此值投影到System.Drawing.Color。 我将不胜感激任何帮助