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.Clo();
}
// 修改Excel文件
using (SpreadsheetDocument document = SpreadsheetDocument.Open("test.xlsx", true))
{
WorkbookPart workbookPart = document.WorkbookPart;B型人格
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.Clo();
}
```
EPPlus是一个开源的库,用于创建和操作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文件,具体使用哪个库取决于个人习惯和项目需求。不过需要注意的是,在使用这些库时需要注意单元格、行和列的索引、坐标等细节问题,以免出现操作错误导致程序崩溃。