C#excelpackage读写Excel文件

为什么使用Excelpackage?

ExcelPackage的优势:解放了在程序中设置格式的弊端,总体原理为:在相应路径下放置一个Excel模板,执行导出操作时按照模板样式在指定行插入数据,构建出一个模板样式的新Excel。

 

excelpackage的官网:http://excelpackage.codeplex.com/,里面有所需的.dll文件和demo程序。

 

在程序中使用期功能时,using OfficeOpenXml; 指令一定要加上;

 

 

在网上的代码案列都是很多要么断章取义,要么就是代码一大堆,不舒服。

 

写数据往Excel中:

  以下几步:

     1.新建一个xlsx文件   

          2.使用usingExcelPackage .....{}代码块

          3.在上述代码块中,得到一个workshoot

          4.利用workshoot.Cells[,].value=""可以在特定格子里写入自己的内容;

          5.写完记得保存,package.save();

  这样就完了。(更多的Excel样式问题和高级的外观功能以后再讲)

                   staticvoid Main(string[] args)

       {

          Write();

       }

 

       static void Write()

       {

           FileInfo newFile = new FileInfo(@"d:\test.xlsx");

           if (newFile.Exists)

           {

                newFile.Delete();

                newFile = newFileInfo(@"d:\test.xlsx");

           }

           using (ExcelPackage package = new ExcelPackage(newFile))

           {

                ExcelWorksheet worksheet =package.Workbook.Worksheets.Add("test");

                worksheet.Cells[1, 1].Value ="名称";

                worksheet.Cells[1, 2].Value ="价格";

                worksheet.Cells[1, 3].Value ="销量";

 

                worksheet.Cells[2, 1].Value ="大米";

                worksheet.Cells[2, 2].Value =56;

                worksheet.Cells[2, 3].Value =100;

 

                worksheet.Cells[3, 1].Value ="玉米";

                worksheet.Cells[3, 2].Value =45;

                worksheet.Cells[3, 3].Value =150;

 

                worksheet.Cells[4, 1].Value ="小米";

                worksheet.Cells[4, 2].Value =38;

                worksheet.Cells[4, 3].Value =130;

 

                worksheet.Cells[5, 1].Value ="糯米";

                worksheet.Cells[5, 2].Value =22;

                worksheet.Cells[5, 3].Value =200;

 

                package.Save();

           }

 

       }

 

读数据:

     和写数据类似,区别就是把原来的赋值语句修改成为取值语句就好了。

                           

      string tmp = worksheet.Cells[1,1].Text;

                   得到的是字符串;

 

 

样式问题:                sheet.Cells["A2:C5"].Style.Border.BorderAround(OfficeOpenXml.Style.ExcelBorderStyle.Thin,Color.Black);

 

可以在A2:C5的矩形区域画一个黑色、细线框框;

你可能感兴趣的:(C#)