C#操作Excel实用技巧三则
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C#操作Excel实用技巧三则
1. 使用OpenXML库创建和操作Excel文件
OpenXML是一个用于处理Office文档格式的开放标准,可以使用它来创建和操作
Excel文件。
使用OpenXML库可以在C#中轻松地创建和修改Excel文件,包括添加和删除
工作表,修改单元格的值和样式,添加图表等。
```
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;
// 创建Excel文件
using (SpreadsheetDocument document = SpreadsheetDocument.Create("test.xlsx", SpreadsheetDocumentType.Workbook))
{
// 添加WorkbookPart和WorksheetPart
WorkbookPart workbookPart = document.AddWorkbookPart();
WorksheetPart worksheetPart = workbookPart.AddNewPart<WorksheetPart>();
// 添加Workbook和Worksheet
Workbook workbook = new Workbook();
Worksheet worksheet = new Worksheet();
workbook.AppendChild(new Sheets());
Sheet sheet = new Sheet() { Name = "Sheet1", SheetId = 1, Id = workbookPart.GetIdOfPart(worksheetPart) };
workbook.GetFirstChild<Sheets>().AppendChild(sheet);
workbookPart.Workbook = workbook;
// 添加单元格
SheetData sheetData = worksheet.GetFirstChild<SheetData>();
Row row = new Row();
Cell cell = new Cell() { DataType = CellValues.String, CellValue = new CellValue("Hello, world!") };
row.Append(cell);
sheetData.Append(row);
// 保存并关闭Excel文件
worksheetPart.Worksheet = worksheet;
workbookPart.Workbook.Save();
document.Close();
}
// 修改Excel文件
using (SpreadsheetDocument document = SpreadsheetDocument.Open("test.xlsx", true))
{
WorkbookPart workbookPart = document.WorkbookPart;
WorksheetPart worksheetPart = workbookPart.WorksheetParts.First();
SheetData sheetData =
worksheetPart.Worksheet.GetFirstChild<SheetData>();
// 修改单元格的值
Cell cell = sheetData.Elements<Row>().First().Elements<Cell>().First();
cell.CellValue = new CellValue("Hello, OpenXML!");
// 修改单元格的样式
Stylesheet stylesheet = workbookPart.WorkbookStylesPart.Stylesheet;
CellFormat cellFormat = new CellFormat() { FontId = 1 };
stylesheet.CellFormats.Append(cellFormat);
worksheetPart.Worksheet.Save();
workbookPart.WorkbookStylesPart.Stylesheet.Save();
document.Close();
}
```
EPPlus是一个开源的.NET库,用于创建和操作Excel文件。
与OpenXML库相比,EPPlus库提供了更为简单且友好的API,可以帮助我们更加快速地创建和修改Excel文件。
以下是使用EPPlus库创建和修改Excel文件的示例代码:
```
using OfficeOpenXml;
// 创建Excel文件
using (ExcelPackage package = new ExcelPackage(new FileInfo("test.xlsx")))
{
// 添加Worksheet
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1"); // 添加单元格
worksheet.Cells["A1"].Value = "Hello, world!";
// 保存Excel文件
package.Save();
}
// 修改Excel文件
using (ExcelPackage package = new ExcelPackage(new FileInfo("test.xlsx"))) {
ExcelWorksheet worksheet = package.Workbook.Worksheets["Sheet1"];
// 修改单元格的值
worksheet.Cells["A1"].Value = "Hello, EPPlus!";
// 修改单元格的样式
ExcelFont font = worksheet.Cells["A1"].Style.Font;
font.Size = 20;
font.Bold = true;
// 保存Excel文件
package.Save();
}
```
综上所述,使用OpenXML、EPPlus和NPOI库都可以帮助我们在C#中创建和操作Excel 文件,具体使用哪个库取决于个人习惯和项目需求。
不过需要注意的是,在使用这些库时需要注意单元格、行和列的索引、坐标等细节问题,以免出现操作错误导致程序崩溃。