//写入数据
//写数据要遵循一定的顺序,可以概括为:读取(或新建一个工作簿)->获取工作表->对工作表添加行->对每一行添加单元格->对单元格赋值。
//XSSFWorkbook workbook = new XSSFWorkbook();
Excel规定一个Workbook必须至少带1个Sheet,所以创建Excel之后必须同时创建Sheet的代码才能保证生成的文件正常。
//ISheet sheet = workbook.CreateSheet("sheet1111"); //创建一个Sheet
//XSSFSheet SheetOne = (XSSFSheet)workbook.GetSheet("sheet1111");
对工作表先添加行,下标从0开始
//for (int i = 0; i < 2; i++)
//{
// SheetOne.CreateRow(i); //为SheetOne添加2行
// //IRow row = SheetOne.CreateRow(i);
// for (int j = 0; j < 3; j++)
// {
// SheetOne.GetRow(i).CreateCell(j).SetCellValue(i+"---"+j); //为第一行创建3个单元格
// //ICell headcell = SheetRow.CreateCell(i);
// }
//}
//FileStream file = new FileStream(@"F:/NpoiTest.xlsx",FileMode.Create);
//workbook.Write(file);
//读取数据
FileStream fileStream = new FileStream(@"F:/NpoiTest.xlsx", FileMode.Open, FileAccess.Read);
IWorkbook workbook = new XSSFWorkbook(fileStream);
fileStream.Close();
ISheet sheet = workbook.GetSheetAt(0);
IRow row = null;
Console.WriteLine(sheet.LastRowNum);
for (int i = 0; i <= sheet.LastRowNum+1; i++) //对工作表每一行 很奇怪行 lastrownum 比实际少一个。。。
{
row = sheet.GetRow(i); //row读入第i行数据
if (row != null)
{
for (int j = 0; j < row.LastCellNum; j++) //对工作表每一列
{
string cellValue = row.GetCell(j).ToString(); //获取i行j列数据
Console.WriteLine(cellValue);
}
}
}
Console.ReadKey();