Tag: npoi

为什么我在Excel中以string的forms读取数字值?

我尝试使用NPOI库来读取excel文件。 这里是代码: public void ReadDataFromXL() { try { for (int i = 1; i <= sheet.LastRowNum; i++) { IRow row = sheet.GetRow(i); for (int j = 0; j < row.Cells.Count(); j++) { var columnIndex = row.GetCell(j).ColumnIndex; var cell = row.GetCell(j); if (cell != null) { switch (cell.CellType) { case CellType.Numeric: var val = cell.NumericCellValue; ; […]

使用NPOI在打开的Excel应用程序上编写

乡亲, 环境 Windows 8.1 Visual Studio 2013 C# 问题 如何使用NPOI( https://npoi.codeplex.com/ )在可见的Excel工作表上编写值并制作图表。 我为什么要这样? 我正在开发一个应用程序来测量设备中的温度。 为了把实验数据放在一个地方,我想在Excel工作表上logging数据并在工作表上制作一个图表。 此外,我想保持Excel工作表可见,并检查实时更新的图表。 您还可以在National Instruments的Measurement Studio上创buildWindows窗体应用程序的graphics,但考虑到Excel图表的灵活性(大小和xy范围可变,易于使用的用户界面等),我想坚持Excel中。 您可以轻松地使用Microsoft.Office.Interop.Excel通过ExcelApp.visible = true; 。 但是,这个模块要求用户释放每个生成的COM对象。 否则,物体保持并消耗记忆。 这就是我更喜欢使用NPOI的原因。 我怎样才能做到这一点? 任何答案将不胜感激。

使用NPOI将数据从一页复制到另一页

我是新来的C#和Excel,我试图从一张表(这是充满了数据)复制到一个新的空的数据。 我正在使用NPOI,我已经想出了一些东西,但是在添加数据时遇到了问题。 第二张是空的,所以所有的单元格都是空的(如果我错了,请纠正我)。 当我尝试将数据从第一张表复制到第二张时,没有任何反应:单元格没有填充。 using (FileStream fs = new FileStream(@"C:\Users\MyDoc.xlsx", FileMode.Open, FileAccess.ReadWrite)) { XSSFWorkbook templateWorkbook = new XSSFWorkbook(fs); //Load the sheets needed var sheettoget = templateWorkbook.GetSheet("Sheet1"); var sheettoadd = templateWorkbook.GetSheet("Sheet2"); XSSFRow row = (XSSFRow)sheettoadd.CreateRow(0); var cell = row.CreateCell(0); var data = sheettoget.GetRow(0).GetCell(4).StringCellValue.ToString(); cell.SetCellValue(data); //the cell is not populated }

NPOI / POI Excel库ISheet.ShiftRows索引超出范围例外

我正在使用NPOI中的.ShiftRows插入一个新的行到一个Excel文件。 但是,当试图向下移动行以插入新行时,我在某些文件上收到System.ArgumentOutOfRangeException 。 这些只是我填充的不同公司的通用文件,因此它们可能不是“干净的”,即底部的空白行等等。我希望它仍然可以运行,因为NPOI知道最后一行在哪里。 在这种情况下,我将行16到458向下移动,得到了超出范围的exception。 例外: Server Error in '/' Application. Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and […]

NPOI插入/追加值到.xls文件

我有问题追加数据到现有的Excel文件。 这里是代码: HSSFWorkbook hssfwb; FileStream file1 = new FileStream(pathDoXls, FileMode.Open, FileAccess.Read); hssfwb = new HSSFWorkbook(file1); ISheet sheet = hssfwb.GetSheet("Zawodnicy"); int ostatniWiersz = sheet.LastRowNum; textBox14.Text = (ostatniWiersz+1).ToString(); Console.WriteLine(ostatniWiersz); ICell cell = sheet.CreateRow(ostatniWiersz+1).CreateCell(0); cell.SetCellValue(textBox14.Text); ICell cell1 = sheet.CreateRow(ostatniWiersz + 1).CreateCell(1); cell1.SetCellValue(textBox2.Text); //sheet.CreateRow(ostatniWiersz + 1).CreateCell(1).SetCellValue(textBox2.Text); //sheet.CreateRow(ostatniWiersz + 1).CreateCell(2).SetCellValue(textBox3.Text); FileStream file = new FileStream(pathDoXls, FileMode.Create); hssfwb.Write(file); file.Close(); 理论上这部分代码: ICell […]

如何枚举NPOI中的excel工作表

如何使用NPOI枚举所有的Excel表名? 作为一个快速的解决方法,我使用以下。 但是我觉得做这个超级内疚 try { IWorkbook Iwb; Iwb = new XSSFWorkbook(filepath); int i = 0; while (i < 100) { MessageBox.Show(Iwb.GetSheetAt(i).SheetName); i++; } } catch (Exception ex) {//Do Nothing.. }

当使用NPOI哪些文件应该添加到C#中的Visual Studio

我一直在试图从NPOI中导入所有的东西,但之后我不能让它使用这个库,所以我认为我input了错误的东西,所以如果有人知道这个东西太好了。

C#NPOI设置单元格样式为文本/string1-19被格式化为date/禁用任何格式化

我创build一个excel,当我写一些值的例子1-19,当我打开Excel文档,我看到1-19,但是如果我点击它然后Excel试图格式化为一个date 有没有办法迫使工作表不使用任何公式或格式? 我已经检查过,数据格式是string。 private void Test1(ref ISheet worksheet, string[] array, IWorkbook workbook, int iRow, XSSFFont font2) { var format = HSSFDataFormat.GetBuiltinFormats(); ICellStyle _TextCellStyle = workbook.CreateCellStyle(); _TextCellStyle.DataFormat = workbook.CreateDataFormat().GetFormat("@"); IRow file = worksheet.CreateRow(iRow); int iCol = 0; for (int y = 0; y < array.Length; y++) { ICellStyle style = workbook.CreateCellStyle(); style.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Grey25Percent.Index; //style.DataFormat = […]

NPOI Excel文件下载损坏

我正在尝试使用NPOI,angular2和web API将数据从数据表导出为ex​​cel。 我所遵循的步骤是:1.将数据表中的数据写入XLSX,并将该文件临时存储在服务器上。2.将其读取并写入内存stream并返回。 我看到浏览器提示用户下载文件,一旦文件正在下载,我得到一个错误,说该文件已损坏。 但是当第一步打开服务器上的文件时,文件打开完全正常,通过文件浏览器下载后打开文件也可以正常工作。 你能帮我理解为什么这是在下载后从浏览器打开文件时发生的吗? web api代码: public HttpResponseMessage ExportReport(ReportPostModel ReportModel) { try { var dt = _IReportRepositoryObj.ExportToExcel(ReportModel.CommentsToExport, ReportModel.SelectedColumns); var headers = dt.Columns.Cast<DataColumn>().Select(x => x.ColumnName).ToArray(); ICellStyle cellStyle; XSSFWorkbook workbook = new XSSFWorkbook(); cellStyle = workbook.CreateCellStyle(); XSSFFont hFont = (XSSFFont)workbook.CreateFont(); hFont.FontHeightInPoints = 12; hFont.FontName = "Arial"; hFont.Boldweight = (short)NPOI.SS.UserModel.FontBoldWeight.Bold; cellStyle.SetFont(hFont); var sheet = workbook.CreateSheet("sheet1"); var […]

使用NPOI(1.2.5.0)删除Excel表格的列

我试图find一个列并删除它,但我不知道什么是删除列的方法。 我试过删除单元格,代码如下。 但是我想删除完整的列。 HSSFRow row = (HSSFRow)Sheet.GetRow(r); HSSFCell newCell = (HSSFCell)row.GetCell(nIndex); row.RemoveCell(newCell); 上面的代码只是清除单元格的内容。 不要删除单元格。 我现在循环所有行来清除特定列的所有单元格。 现在,我正在寻找一种叫做列移的东西,但似乎没有办法。 请让我知道是否有一个NPOI列转移的方法。 .net Framework-3.5 VS 2008 NPOI(1.2.5.0)