标签: npoi

使用NPOI在Excel电子表格中创建图表

我知道我的问题与已经问过的其他问题非常相似,但由于我找不到令人满意的答案,我试试运气!

这样做是否知道是否可以使用NPOI库在Excel电子表格中生成图表.

我已阅读该博客,但它提供了一个已存在现有模板的示例.难道不是"从头开始"吗?

c# excel charts npoi

7
推荐指数
1
解决办法
9588
查看次数

NPOI是否支持.xlsx格式?

NPOI DLL会识别.xlsx文件吗?

目前我正在使用NPOI 1.2.5版本的DLL for Microsoft Excel 97-2003,但我也需要访问Excel扩展表.xlsx.

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);
    Console.WriteLine(sheet.GetRow(1048576).GetCell(0).StringCellValue);
}
Run Code Online (Sandbox Code Playgroud)

c# excel npoi

7
推荐指数
2
解决办法
4万
查看次数

ICellStyle FillForegroundColor的自定义颜色比提供的命名颜色

我们刚开始使用NPOI组件.

我们遇到了设置ICellStyle属性的FillForegroundColor的问题.

ICellStyle HeaderCellStyle = xssfworkbook.CreateCellStyle(); 

HeaderCellStyle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.RED.index;
Run Code Online (Sandbox Code Playgroud)

FillForegroundColor期望类型为short.

我们如何设置不同的颜色而不是在HSSFColor中使用颜色.

我们需要设置"RGB192:0:0"以及如何为ICellStyle属性FillForegroundColor执行此操作

Colud有人通过一些例子来帮助我们吗?

c# npoi c#-4.0

7
推荐指数
1
解决办法
1万
查看次数

如何使用NPOI c#将xls文件保存为xlsx文件?

我正在使用NPOI打开XLS文件,然后对XLS文件添加一些修改.最后我想将其保存为XLSX文件.

我正在使用此代码将其保存为XLS文件:

using (var fs = new FileStream(Name, FileMode.Create, FileAccess.Write))
{
     wb.Write(fs);
} 
Run Code Online (Sandbox Code Playgroud)

是否可以在C#中使用NPOI将此XLS文件保存为XLSX文件

在此先感谢您的回复

c# export-to-excel npoi

7
推荐指数
2
解决办法
5331
查看次数

SSIS脚本任务无法找到对程序集的引用

我有一个SSIS包,它使用脚本任务用来自各种不同文件类型(包括excel)的数据填充数据表.

我正在使用NPOI读取Excel中的数据,并将NPOI.dll文件放在与SSIS包相同的文件夹中,并将其作为脚本任务中的引用添加.对于NPOI,我是一个Noob,所以我现在只是在修修补补,但即便如此,我仍然在第一关!

我的脚本包含下面的代码(我从这个SA答案中复制了代码):

using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;

HSSFWorkbook wb;
using (FileStream file = new FileStream(FilePath, FileMode.Open, FileAccess.Read))
{
    wb = new HSSFWorkbook(file);
}
Run Code Online (Sandbox Code Playgroud)

但失败并显示以下错误消息: Could not load file or assembly 'NPOI, Version=2.1.1.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1' or one of its dependencies. The system cannot find the file specified

但是当我进入脚本任务时,引用就在那里并且没有错误.

在此输入图像描述

如果我注释掉除了第一行之外的所有内容,我声明一个HSSFWorkBook被调用wb它运行正常.

我是否错误地添加了引用,或者添加对SSIS脚本任务的引用是多么困难?

一如往常,任何帮助都非常感谢.

c# dll ssis npoi

7
推荐指数
2
解决办法
8810
查看次数

如何获取包含日期的单元格的值并使用NPOI保留原始格式

我有一个Excel文件,我使用DevExpress编辑,我正在使用NPOI阅读.当我尝试将日期单元格的值作为字符串时,它不保留原始值.

例如:在DevExpress网格中,我设置了这个值:2016-08-12.我想在我的字符串中获得相同的值,但我得到了42689.

获取单元格值的代码如下:

    ICell cell = row.GetCell(i);
    cell.SetCellType(CellType.String);
    string fieldString = cell.StringCellValue;
    result = result + ";" + FieldValue; 
Run Code Online (Sandbox Code Playgroud)

如何获取原始格式化的日期值?

c# devexpress visual-studio npoi

7
推荐指数
1
解决办法
5528
查看次数

NPOI DataFormat

我正在使用NPOI v1.2.3导出网格,并且无法使单元格格式化工作.

我有一个类将对象列表导出到XLS文件.为每个对象创建一行,并为每个已配置的属性添加一个单元格.可以在每个属性级别上设置单元格数据格式.

我读过你不应该为每个单元格创建一个新的样式.我无法对我的样式进行硬编码,因为我的导出器需要支持任何类.相反,我编写了一个小缓存系统,只有在尚未为当前单元格格式创建的情况下才创建新的CellStyle.

不幸的是,这仍然没有解决问题.格式未在最终的XLS文件中正确应用.在我的测试用例中,XLS中的大多数单元格都使用"日期"格式,即使只有几列是日期.但是,第一列正确使用自定义格式.没有单元格设置为文本,即使它应该是大多数单元格.

我究竟做错了什么?

下面的"AddRecords"方法用于添加数据行(页眉和页脚行分别添加).最后一段代码是延迟加载CellStyles的方法.

private void AddRecords( Sheet sheet, IList<T> records )
{
    foreach( var record in records )
    {
        // append row
        var row = sheet.CreateRow ( sheet.LastRowNum + 1 );

        // iterate through all configured columns
        foreach ( var column in GetColumns() )
        {
            // append cell
            Cell cell = row.CreateCell ( row.LastCellNum == -1 ? 0 : row.LastCellNum );

            // get the property value of the column from the record
            object …
Run Code Online (Sandbox Code Playgroud)

c# xls npoi

6
推荐指数
1
解决办法
2万
查看次数

NPOI-获取Excel行计数以检查其是否为空

我正在xlsx使用NPOIlib和读取文件C#。我需要提取一些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;
       this.columns[i].values.Add(cellValue); //--- Here I'm adding the value to a custom data structure
    }
    rowIndex++;
}
Run Code Online (Sandbox Code Playgroud)

我现在想做的是检查excel文件是否为空或只有1行,以便正确处理该问题并显示一条消息。

如果我对只有1行(标题)的excel文件运行代码,则会中断

cell.SetCellType(CellType.String); //--- here …
Run Code Online (Sandbox Code Playgroud)

c# excel npoi

6
推荐指数
2
解决办法
1万
查看次数

使用 NPOI 将 Excel 单元格区域格式化为表格

在此输入图像描述

我正在使用 NPOI 来操作 Excel(.xlsx) 文件数据和格式。我想知道是否有一种方法可以将单元格范围格式化为表格。

// something like.
ITable table = worksheet.FormatAsTable("A1:C4");
Run Code Online (Sandbox Code Playgroud)

在互联网上做了一些研究,但还没有运气。任何帮助将非常感激!

c# excel npoi

6
推荐指数
1
解决办法
4490
查看次数

如何将 Excel (.xlsx) 文件导入并显示到 Blazor WASM 客户端(无需上传到服务器)

正如标题所说。网上有很多用于将文件上传到后端的示例,但我在验证客户端/离线后仅上传数据(无文件)。理论上,任何在 .Net5 上运行的东西都应该能够在 WASM 中以接近的性能运行。我正在尝试将这些繁重的操作卸载到客户的机器上。

我在 ClosedXML 方面取得了一些成功,但是当文件有几千行时,它会变得非常慢。在 Blazor 服务器端使用 ClosedXML 轻松加载 100,000 行。

笔记:

  • 使用 MudBlazor UI 组件
  • 我有一个来自文件的流,而不是 ClosedXML 的文件路径(就像我在控制台应用程序上一样),我认为这是 WASM 中的唯一方法,但我可能是错的。
  • 我在 NPOI 中运行了相同的代码,结果相似(WASM 慢,服务器端快)。
  • 我宁愿避免使用 EPPlus,除非它有神奇的修复方法。

页:

@page "/upload"
@inject HttpClient Http

<h1>Upload Data</h1>

<p>This component demonstrates uploading data from Excel.</p>

<InputFile id="fileInput" OnChange="UploadFiles" hidden single />

<MudButton HtmlTag="label"
           Variant="Variant.Filled"
           Color="Color.Primary"
           StartIcon="@Icons.Filled.CloudUpload"
           for="fileInput">
    Upload Files
</MudButton>

@if (dataTable == null)
{
    <p><em>Please upload Excel File</em></p>
}
else
{
    <MudTable Items="@dataTable.AsEnumerable().Take(500)" Hover="true" Breakpoint="Breakpoint.Sm" T="DataRow" RowsPerPage="100">
        <HeaderContent>
            @foreach …
Run Code Online (Sandbox Code Playgroud)

c# npoi closedxml .net-5 blazor-webassembly

6
推荐指数
0
解决办法
5325
查看次数