要制作一个Excel表格,其内容有很多无法做到自动化,需要手动敲代码确定,核对、调试起来很麻烦,因此就想利用现有的表格,直接往里面填充数据就行。
主要参考了stackoverflow上的一个AQ,此文算是一个搬运吧,关键在于设置FileStream的文件模式和访问模式。
public void ReplaceExcel(string fileName)//修改单元格内容
{
if (!File.Exists(fileName))
{
MessageBox.Show("文件不存在!", "");
return;
}
IWorkbook workbook;
using (FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
if (Path.GetExtension(fileName) == ".xls")
workbook = new HSSFWorkbook(fileStream);
else
workbook = new XSSFWorkbook(fileStream);
fileStream.Close();
}
ISheet sheet = workbook.GetSheetAt(0);
Console.WriteLine("cell(0): " + sheet.GetRow(0).GetCell(0));
sheet.GetRow(0).GetCell(0).SetCellValue("修改");
using (FileStream fileStream = new FileStream(fileName, FileMode.Create, FileAccess.Write))
{
workbook.Write(fileStream);
fileStream.Close();
}
}