虽然C#表单程序常用于输入和输出数据,但Excel文件是一种比较常见的文本格式,可以满足功能需求。
能够快速轻松地读写Excel文件。未安装Office的计算机也能够生成和读写Excel。 通常可以使用NPOI、ClosedXML、EPPlus等类库。 本文总结了EPPlus的简单使用。
EPPlus的github URL:https://github.com/epplussoftware/EP plus
EPPlus版本:5.0.4
将Excel文件导入二维数组:
fileinfofile=newfileinfo(@ '数据. xlsx ); excelpackageexcelpackage=newexcelpackage (文件; //需要添加许可证、许可证。 否则,excel package.license context=office open XML.license context.non commercial; //读取的数据表excelworksheetexcelworksheet=excel package.workbook.worksheets [ ' sheet1' ]; //获取表数据的最大行数int rownum=excel worksheet.dimension.end.row; //获取表数据的最大列数intcolumnnum=excel worksheet.dimension.end.column; //存储数据的二维数组string[,] dataTable=new string[rowNum,columnNum]; //逐行阅读,并输入二维数组datatable for (inti=excel worksheet.dimension.start.row; I=excel worksheet.dimension.end.row; I ) for (intj=excel worksheet.dimension.start.column; j=excel worksheet.dimension.end.column; j ) { dataTable[i - 1,j - 1]=excelWorksheet.Cells[i,j].Value.ToString (; }//遍历数组的输出for(intI=0; Idatatable.getlength(0; I ) for(intj=0; jdatatable.Getlength(1; j ) {console.write(datatable[I,j] 't; }console.write(((n ); }Console.ReadKey (; 将数组写入Excel表
//要写入的数组以及Excel表的存储位置string[] str={ '1'、'5'、' 10 '、' 15 '、' 20' }; stringoutputexcelpath=system.environment.current directory ' 数据. xlsx '; fileinfo file=new fileinfo (outputexcelpath ); //许可证excel package.license context=office open XML.license context.non commercial; //如果文件存在,则读取和写入新列;如果文件不存在,则读取和写入if(file.exists ) excelpackageexcelpackage=newexcelpackage (file ); //读取的数据表excelworksheetexcelworksheet=excel package.workbook.worksheets [ ' sheet1' ]; //获取表中现有数据的列数intcolumnnum=excel worksheet.dimension.end.column; //写入数据excelWorksheet.Cells[1,columnNum 1].Value='新数据'; for(intI=0; i str.Length; I ) { excelWorksheet.Cells[i 2,columnNum 1].Value=str[i]; } excelPackage.Save (; } else { file=new fileinfo (outputexcelpath ); excelpackageexcelpackage=newexcelpackage (文件; //创建新数据表excelworksheetexcelworksheet=excel package.workbook.worksheets.add (sheet1); //写入数据excel worksheet.cells [ 1,1 ].value='数据'; for(intI=0; i str.Length; I ) { excel worksheet.cells [ I2,1 ].value=str [ I ]; } excelPackage.Save (; }执行结果:
结束