Tag: npoi

以编程方式更改Excel中的macros文本

我已经有大约数千个Excel(xls,旧格式)文件分布在硬盘上的许多文件夹中。 这些文件具有连接到数据库的相同的macros。 而macros包含连接string。 macros是密码保护,但幸运的是我知道密码。 问题:在所有文件中的macros中更改连接string的最佳方法是什么? 我有与NPOI合作创build/修改xls文件的经验。 我已经看到互操作图书馆解锁密码保护的Word文件,并做一些编辑。 但是我从来没有见过在Excel文件中编程改变macros文本的例子。 这甚至可能吗? ps我写代码没有问题。 问题是select正确的工具。

NPOI – 获取excel行数来检查是否为空

我正在用C#读取一个使用NPOI库的xlsx文件。 我需要提取一些excel列,并将提取的值保存到某种数据结构中。 我可以成功读取文件,并从第二个(第一个只包含标题)到下一个代码的最后一行获取所有值: … workbook = new XSSFWorkbook(fs); sheet = (XSSFSheet)workbook.GetSheetAt(0); …. int rowIndex = 1; //— SKIP FIRST ROW (index == 0) AS IT CONTAINS TEXT HEADERS while (sheet.GetRow(rowIndex) != null) { for (int i = 0; i < this.columns.Count; i++){ int colIndex = this.columns[i].colIndex; ICell cell = sheet.GetRow(rowIndex).GetCell(colIndex); cell.SetCellType(CellType.String); String cellValue = cell.StringCellValue; […]

如何获取excel文件中的数据(使用NPOI)

我发这个函数来发送邮件时embedded数据。 所以我可以在电子邮件的正文中调用这个函数。 private static string getHTML(DataTable dt) { StringBuilder myBuilder = new StringBuilder(); myBuilder.AppendLine("see attached for the updated list."); myBuilder.AppendLine(""); myBuilder.Append("<table border='1px' cellpadding='5' cellspacing='0' "); myBuilder.Append("style='border: solid 1px Silver; font-size: x-small;'>"); myBuilder.Append("<tr align='left' valign='top'>"); foreach (DataColumn myColumn in dt.Columns) { myBuilder.Append("<td align='left' valign='top'>"); myBuilder.Append(myColumn.ColumnName); myBuilder.Append("</td>"); } myBuilder.Append("</tr>"); int a = 1; foreach (DataRow myRow in […]

npoi从数据表导出

我有一个asp.net网站,将生成7-8张数据的一些excel文件。 到目前为止,最好的解决scheme似乎是NPOI ,这可以创buildexcel文件,而不需要在服务器上安装excel,并且在excel interop上有一个很好的API。 但是我找不到一种方法来转储类似于CopyFromRecordset Excel中的整个数据表 任何提示如何做到这一点,或比NPOI更好的解决scheme?

.NET C# – 导入Excel文件 – 工作表名称!

我正在使用NPOI库从Excel表导入一些数据到我的数据库。 我很好奇的一个早期问题通常是,首先,你会有这样的事情: 片段 using (FileStream fs = File.Open(filename, FileMode.Open, FileAccess.Read)) { HSSFWorkbook templateWorkbook = new HSSFWorkbook(fs); HSSFSheet sheet = templateWorkbook.GetSheet("Sales"); 我的查询是,每当工作表的名称每次都不一样时,会发生什么情况,例如,我计划导入销售数据,而从供应商处收到的工作簿中的工作表是按date标题的。 有什么办法可以指定GetSheet(); 只是得到工作簿中的第一张? 任何指针将不胜感激, 多谢你们 :)

用于格式化Excel的非商业C#库?

我有一个报告列表,通过一些报告服务导出为Excel,在我的服务器上,我需要遍历这些电子表格并执行其他格式 1)隐藏列2)重命名表3)冻结窗格4)设置默认缩放,打印大小等5)保存为HTML或转换为纯文本文件 到目前为止,我已经完成了所有的互操作任务,并且它工作的很好,但是正如你所知,微软在服务器上使用互操作(但是不提供任何替代品)。 在未来的新服务器上安装excel也将是一场艰苦的战斗。 我用googlesearch了一下,find了一些可能的: 我试过NPOI这似乎很好,但我遇到exception后试图打开我的电子表格(首先是一个溢出exception,我修正了,然后一个'单元格内容超过8552字节exception',我不能)。 我试过excel库,但是完全没有文档。 另外我发现格式化我的电子表格后,它不保留它的原始格式。 任何人都知道任何好的详尽的免费图书馆或Excel格式的C#? 编辑:不幸的是,我遗漏了提到我必须使用97-2003格式的部分,所以epplus是不可能的

NPOI复制范围到另一个工作表

我正在使用NPOI在C#中使用Excel。 但没有完整的文档如何使用它。 我需要复制一些范围到另一个工作表。 有人知道怎么做这个吗? 也许你正在使用另一个DLL(不互操作)来提供这样的function。 如果是这样,请告诉我。 在excel中,一切都非常简单: Worksheets(2).rows(2).copy newsheet.Range("A1") 感谢您的回答!

公式评估不适用于NPOI 2.1.3.0

我在后面的代码中创buildExcel工作簿,并将其保存为XLSX和PDF。 为此,我使用了一个模板工作簿,它具有格式化和公式生成完成后进行评估。 当我打开Excel文件时,只有当我将ForceFormulaRecalculation设置为true时,公式才计算。 当我对PDF文件做同样的处理时,我会得到#VALUE! 结果应该在哪里。 我的相关代码: ReportGenerator generator = new ReportGenerator(); List<Activity> activities = GetActivitiesForItemCollection(items); generator.CreateWorkbook(templatePath); generator.Year = int.Parse(year); generator.Month = int.Parse(month); activities = generator.SortActivitiesByDateTime(activities); activities = generator.GenerateBreaksForProject(activities); bool isExternalReport = false; if (project == "Intern") isExternalReport = true; generator.GenerateReports(activities, isExternalReport); if (pdf && !xlsx) generator.SaveReportToList(OutputFileType.PDF, generator.AssembleFileName(UserProperties.FullName, project, month, year, OutputFileType.PDF)); else if (xlsx && […]

NPOI是否支持枢轴图?

我正尝试从模板创build电子表格。 模板有3张: 第一个是包含数据透视表的图表。 第二张包含数据透视表,用作第一张透视图的数据表。 第三张包含数据表,它被用作第二张数据透视表的来源。 当我填写第三张表中的数据时,数据透视表生成正确。 但是第一张纸是不会出现在创build的excel文件中的。 另外当我打开文档时,它将以恢复模式打开。 它提醒以下几行: _Removed Part: /xl/pivotTables/pivotTable1.xml part. (PivotTable view) Repaired Part: /xl/workbook.xml part with XML error. (Workbook) Load error. Line 1, column 1035. Repaired Part: /xl/chartsheets/sheet1.xml part with XML error. (Chart sheet) Catastrophic failure Line 1, column 224._ 当我只把数据透视表和数据表放在模板中时,文档就没有问题了。 NPOI是否支持数据透视表? 如果没有,我们可以使用MS互操作吗?

我怎样才能设置使用NPOI C#的Excel表行的gradiant背景?

这里我创build一个样式,但它不工作,它只有一些像固体或虚线等背景,所以我如何设置渐变背景? 这里只有一个样式表我怎样才能设置渐变背景? ICellStyle tablestyle = sheet.Workbook.CreateCellStyle(); tablestyle.FillForegroundColor = IndexedColors.Blue.Index; tablestyle.FillPattern = FillPattern.AltBars;