如何使用NPOI创建xls文件?

时间:2017-06-14 22:04:38

标签: c# excel

我想做的就是创建一个包含1行和几列的文件来进行一些测试。

但是我找不到一个简单的方法来做这样的事情。我发现的大多数帮助似乎也使用了数据库。

我找到了一个没有。

Trying to create a new .xlsx file using NPOI and write to it

然而,对于这么简单的任务来说似乎有点太多了。有没有一种工具可以让我做一些像

这样简单的事情
Create file
file.cell[0,0] = ...

1 个答案:

答案 0 :(得分:1)

您可以使用EPPlus包。在NuGet上找到它。

string fileName = @"C:\test\MyNewExcelFile.xlsx";
FileInfo newFile = new FileInfo(fileName);
using (ExcelPackage xlPackage = new ExcelPackage(newFile)) // create the xlsx file
{
    // Add a new worksheet on which to put data 
    ExcelWorksheet xlWorksheet = xlPackage.Workbook.Worksheets.Add("Test");
    // Write data to cell(s)
    xlWorksheet.Cells["A1"] = ...
    // Write the file
    xlPackage.Save();
}

修改

修改以替换工作表(如果已存在)。

const string fileName = @"C:\test\MyNewExcelFile.xlsx";
const string sheetName = @"test";

FileInfo newFile = new FileInfo(fileName);

using (ExcelPackage xlPackage = new ExcelPackage(newFile)) // create the xlsx file
{
    // if sheet already exists, delete it
    // use LINQ to query collection of worksheets
    ExcelWorksheet xlWorksheet = xlPackage.Workbook.Worksheets.SingleOrDefault(ws => ws.Name == sheetName);
    if (xlWorksheet != null)
    {
        // worksheet exists - delete it
        xlPackage.Workbook.Worksheets.Delete(sheetName);
    }
    // Add new worksheet on which to put data 
    ExcelWorksheet xlWorksheet = xlPackage.Workbook.Worksheets.Add("Test");
    // Write data to cell(s)
    xlWorksheet.Cells["A1"] = ...
    // Write the file
    xlPackage.Save();
}