如何使用NPOI改变单元格的颜色
using NPOI.XSSF.UserModel; using NPOI.XSSF.Model; using NPOI.HSSF.UserModel; using NPOI.HSSF.Model; using NPOI.SS.UserModel; using NPOI.SS.Util; (...) XSSFWorkbook hssfwb; using (FileStream file = new FileStream(@"D:\VB\XLSX teste com NPOI\XLSX 1\Book1.xlsx", FileMode.Open, FileAccess.Read)) { hssfwb = new XSSFWorkbook(file); file.Close(); } ISheet sheet = hssfwb.GetSheetAt(0); IRow row = sheet.GetRow(0); ICell cell = row.Cr
0 2024-04-17
编程技术问答社区
在NPOI workbook.write之后,MemoryStream似乎被关闭了?
我正在使用 npoi 将DataTable转换为ASP.NET Web API项目中的Excel. 但是我从回应中什么也没得到.这是我的代码: public HttpResponseMessage GetExcelFromDataTable(DataTable dt) { IWorkbook workbook = new XSSFWorkbook(); // create *.xlsx file, use HSSFWorkbook() for creating *.xls file. ISheet sheet1 = workbook.CreateSheet(); IRow row1 = sheet1.CreateRow(0); for (int i = 0; dt.Columns.Count > i; i++) { row1.CreateCell(i).SetCellValue(dt.Columns[i].ColumnN
0 2024-04-17
编程技术问答社区
如何通过angularJS和webaAPI2下载内存流对象
我有一个项目,我正在使用 npoi 从我的Angular应用程序中生成Excel文档.我的呼叫是通过我的Angular服务对我的WebAPI控制器进行的,如下所示: function exportReportToExcel(report) { return $http.post('reportlibrary/exportReport/', report, { }).then(function (response) { return response.data; }); }; 在控制器中我进行以下调用 [HttpPost] public HttpResponseMessage ExportReport([FromBody]DTOs.Report report) { try { IReportPersistenceManager m
0 2024-04-17
编程技术问答社区
在c#中使用NPOI将xlsx文件转换为xls文件
我有一个以 *.xlsx格式的Excel文件.我想在我的MVC Web应用程序中将此文件转换为 *.xls格式.在我的应用程序托管服务器中,没有Microsoft.Office软件包.请让我知道我们如何使用C#在NPOI中实现它. 预先感谢. 解决方案 我根据安迪的建议找到了解决方案.这是自定义的源代码将XLSX转换为XLS. public static class ConvertXLSXToXLS { public static HSSFWorkbook ConvertWorkbookXSSFToHSSF(XSSFWorkbook source) { //Install-Package NPOI -Version 2.0.6 HSSFWorkbook retVal = new HSSFWorkbook(); for (int i = 0; i
0 2024-04-16
编程技术问答社区
如何使用NPOI来读取包含空单元格的Excel表格?
当我使用NPOI阅读Excel工作表时,跳过了空单元.例如,该行包含A, B, , C,我使用 阅读了它 IRow row = sheet.GetRow(rowNb) 然后row.Cells[1].ToString()将输出B(如预期),但是row.Cells[2].ToString()将输出C而不是一个空字符串.有没有办法保持空细胞?谢谢. 解决方案 尝试使用GetCell MissingCellPolicy: ICell cell = row.GetCell(2, MissingCellPolicy.RETURN_NULL_AND_BLANK); 其他解决方案 完成接受答案后,可以在工作簿级别设置策略 workbook.MissingCellPolicy = MissingCellPolicy.RETURN_NULL_AND_BLANK; 这样,当您调用GetCell时,隐式应用了策略,无需每次以参数 将其传递 ICell cell = ro
0 2024-04-14
编程技术问答社区
NPOI SetCellValue方法没有向单元格写入数据
我在编写数据以使用NPOI来表格工作表单元格时有一些问题. 这是我的代码: FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read); hssfworkbook = new HSSFWorkbook(file); ISheet sheet1 = hssfworkbook.GetSheet("Табель"); for (int i = 0; i
0 2024-04-14
编程技术问答社区
试图用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 = (HSSF
0 2024-04-13
编程技术问答社区
编辑现有的Excel文件 C# npoi
我想使用控制台应用程序C#打开现有的Excel文件并向其添加内容. NPOI 2.1.1.0 我的第一种方法只是为最后一个单元图添加一个值,我解决了它将解决我的其他问题. 这将使用新内容正确读取文件,但不会保存它. 输出: "无法访问关闭的文件.". HSSFWorkbook hssfwb; using (FileStream file = new FileStream(@"c:\testfile.xls", FileMode.Open, FileAccess.ReadWrite)) { hssfwb = new HSSFWorkbook(file); ISheet sheet = hssfwb.GetSheetAt(0); IRow row = sheet.GetRow(0); sheet.CreateRow(row.LastCellNum); ICell cell = row.CreateCell(row.LastC
0 2024-04-13
编程技术问答社区
如何使用NPOI c#将xls文件保存为xlsx文件?
我正在使用NPOI打开 XLS 文件,然后在XLS文件中添加一些修改. 最后,我想将其保存为 xlsx 文件. 我正在使用此代码将其保存为XLS文件: using (var fs = new FileStream(Name, FileMode.Create, FileAccess.Write)) { wb.Write(fs); } 是否可以使用 npoi 在 c#中保存此 XLS文件? 预先感谢您的回复 解决方案 一般来说,这是可能的,但并不容易,这是显着复杂的任务. XLS文件格式由HSSFWorkbook class(以及HSSFSheet等)处理. XLSX文件格式由XSSFWorkbook class(and XSSFSheet等)处理. 因此,为了在使用npoi打开并修改它后,要将文件保存为xlsx,您需要创建新的XSSFWorkbook,然后对于源文件的每个工作表,您需要创建适当的XSSFSheet,请将数据复制到它从您的原
0 2024-04-13
编程技术问答社区
试图用NPOI创建一个新的.xlsx文件并写入其中
编辑: 我正在尝试编写一个小型控制台应用程序,该应用程序将在Excel电子表格中读取,解析行并将现场数据写入新的Excel文件.我正在使用.NET和NPOI库.经过大量挖掘,我终于在Apache网站上找到了POI的Java文档.这是我的更新代码,并带有新的错误. 这实际上创建了一个可读的文件,除了它仅写于第三列的文本. public static void TransferXLToTable() { DataTable dt = new DataTable(); dt.Columns.Add("City", typeof(string)); dt.Columns.Add("State", typeof(string)); dt.Columns.Add("Zip", typeof(string)); using (FileStream stream = new FileStr
0 2024-04-13
编程技术问答社区
NPOI是否支持.xlsx格式?
npoi dll会识别.xlsx文件吗? 目前,我正在为Microsoft Excel 97-2003使用NPOI 1.2.5版本DLL,但是我还需要访问Extension .xlsx的Excel表. NPOI会支持上述吗? 代码段: static void Main(string[] args) { XSSFWorkbook xssfwb; using(FileStream file=new FileStream( @"C:\Users\347702\Desktop\Hello.xlsx", FileMode.Open, FileAccess.Read)) { xssfwb=new XSSFWorkbook(file); } ISheet sheet=xssfwb.GetSheet("sheet1"); sheet.GetRow(1048576);
0 2024-04-12
编程技术问答社区
如何给Excel工作表列设置 "自动大小"?(NPOI)
根据如何如何可以将列设置为使用NPOI创建的Excel文档中的"自动化"?我这样做了: foreach (DataColumn column in dataTable.Columns) { int rowIndex = 0; foreach (DataRow row in dataTable.Rows) { HSSFRow dataRow = sheet.CreateRow(rowIndex); dataRow.CreateCell(column.Ordinal).SetCellValue(row[column].ToString()); rowIndex++; } sheet.AutoSizeColumn(column.Ordinal); } 但行不通.如何做正确的? 解决方案 这是一些对我有用的代码,使用您的循环: HSSFWorkbook spreadsheet = new H
0 2024-04-12
编程技术问答社区
SSIS脚本任务找不到对程序集的引用
我有一个SSIS软件包,该软件包使用脚本任务来填充来自各种不同文件类型的数据的数据,包括Excel. 我正在使用NPOI在Excel的数据中读取,并将npoi.dll文件放在与SSIS软件包同一文件夹中,并将其添加为脚本任务中的参考.当涉及NPOI时,我是一个菜鸟,所以我目前只在修补,但即使我仍然陷入了第一个障碍! ! 我的脚本包含下面的代码(我从 replof using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; HSSFWorkbook wb; using (FileStream file = new FileStream(FilePath, FileMode.Open, FileAccess.Read)) { wb = new HSSFWorkbook(file); } 但由于以下错误消息失败:Could not load file or assembly 'NPOI, Version=2.1.1.0, Cult
0 2024-04-11
编程技术问答社区
C#创建/修改/读取.xlsx文件
我正在寻找一种在不安装excel或在服务器上创建文件的方法来创建,修改,读取.xlsx文件,然后再给用户下载. 我找到了npoi http://npoi.codeplex.com/看起来很棒,但不支持.xls .xls .xlsx 我找到了excelpackage 在服务器上创建文件之前可以将其发送给用户. 有人知道解决这个问题吗? 我找到了epplus http://epplus.codeplex.com 我不确定这是否需要创建在服务器上将其发送给用户之前的文件? 我对此非常陌生,所以任何指导/示例等都将不胜感激. 解决方案 使用Epplus,不需要创建文件,您可以使用流进行所有操作,以下是ASP.NET ASHX处理程序的示例,该示例将导出DataTable中Excel文件并将其提供给客户端: public class GetExcel : IHttpHandler { public void ProcessRequest(Htt
2 2024-04-10
编程技术问答社区
如何使用NPOI读取文件
我发现NPOI非常适合用C#编写Excel文件. ,但我想打开,阅读和修改C#中的Excel文件. 我该怎么做? 解决方案 简单阅读以下示例: using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; //..... private void button1_Click(object sender, EventArgs e) { HSSFWorkbook hssfwb; using (FileStream file = new FileStream(@"c:\test.xls", FileMode.Open, FileAccess.Read)) { hssfwb= new HSSFWorkbook(file); } ISheet sheet = hssfwb.GetSheet("Arkusz1"); for (int row = 0; row
0 2024-04-10
编程技术问答社区
如何在ASP MVC中下载由NPOI生成的xls文件
我找到了如何将Excel电子表格流回到客户端但在ASPX代码中的范围.代码在 下面 using (var exportData = new MemoryStream()) { workbook.Write(exportData); string saveAsFileName = string.Format("MembershipExport-{0:d}.xls", DateTime.Now).Replace("/", "-"); Response.ContentType = "application/vnd.ms-excel"; Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", saveAsFileName)); Response.Clear(); Response.BinaryWrite(exportData.GetBuffer()); Response.End()
2 2024-03-16
编程技术问答社区
我如何使用npoi将图像放置在一个单元格中?
我正在使用 npoi 生成Excel文档.我需要向单元格添加图像.使用以下代码,我可以将图像插入我的文档.但是,图像跨越了许多单元.我如何确保图像仅适用于一次单元格内. public ActionResult NPOICreate() { try { FileStream fs = new FileStream(Server.MapPath(@"\Content\NPOITemplate.xls"), FileMode.Open, FileAccess.ReadWrite); HSSFWorkbook templateWorkbook = new HSSFWorkbook(fs, true); var sheet = templateWorkbook.GetSheet("Sheet1"); var patriarch = sheet.CreateDrawingPatriarch(); H
2 2024-03-13
编程技术问答社区
我如何将NPOI库添加到.NET Core 1.0项目中?
我想将NPOI库添加到我的.NET Core Project.我想使用XLS和XLSX文件. 解决方案 有4个步骤将NPOI库添加到.NET Core Project. 添加net451作为project.json文件中框架属性下的依赖关系,并包括对NPOI库的引用: "frameworks": { "netcoreapp1.0": { "imports": [ "dotnet5.6", "portable-net45+win8" ] }, "net451": { "dependencies": { "NPOI": "2.2.1" } } }, 在project.json文件中,添加runtimes作为顶级属性: "runtimes": { "win7-x64": {}, "win7-x86": {}, "osx.10.11-x64": {}, "ubuntu.14.04-x64":
8 2024-03-12
编程技术问答社区
'OutOfMemoryException'读取20mb XLSX文件
我正在使用 npoi 来处理Excel文件.这是我正在阅读文件的方式: using (FileStream stream = File.OpenRead(excelFilePath)) { IWorkbook wb = WorkbookFactory.Create(stream); ... } 但是,对于大于少数兆字节的任何XLSX文件,它会导致内存使用量大约为1GB并最终抛出一个OOM例外. 做一些研究,我发现了 ,从文件中加载工作簿而不是流导致POI减少内存消耗.我想到的最接近的c#等效于我想到的文件示例: : OPCPackage pkg = OPCPackage.Open(new FileInfo(excelFilePath)); XSSFWorkbook wb = new XSSFWorkbook(pkg); ,但似乎使用了相同的基础实现,因为内存使用情况仍然相同,并导致OutofMemory Exceptions. NPOI是
2 2024-02-29
编程技术问答社区
C#. xlsx日期单元格导入DataTable by NPOI 2.0
我尝试使用NPOI 2.0库将.xlsx文件转换为数据表格式.没关系,但是我在转换为字符串日期单元格时有问题.当我尝试使用诸如row.getCell(j).toString()之类的构造时,它是"无法从文本单元格中获得数字值"的例外.我尝试使用DateCellValue属性,但也抛出了此例外.使用其他单元格式,它的工作状态很好. 功能,我使用的是: private DataTable xlsxToDT(string fileName) { DataTable table = new DataTable(); XSSFWorkbook workbook = new XSSFWorkbook(new FileStream(fileName, FileMode.Open, FileAccess.Read)); ISheet sheet = workbook.GetSheetAt(0); IRow headerRow
8 2024-02-29
编程技术问答社区