excel处理

一、新建空白excel


using MyExcel=Microsoft.Office.Interop.Excel;
private void CreateExcel(string path)
{
     object missing=Type.Missing;
     MyExcel.Application excelApp=new MyExcel.Application();
     myExcel.WorkBook wBook=excelApp.Workbooks.Add(missing);
     wBook.SaveAs(path,missing,missing,missing,missing,missing,MyExcel.XlSaveAsAccessMode.xlShared,missing,missing, missing,missing,missing);
     wBook.Close(false,missing,missing);
     excelApp.Quit();
   
}
二、获取sheet的实际行数,以第一列为基准,为空则遍历结束

private int GetRealRowCount(MyExcel.Worksheet sheet)
{
   int rowIndex=1;
   MyExcel.Range range=null;
   do
   {
      range=(MyExcel.Range)sheet.Cells[RowIndex++,1]; 
   }
   while(range.Value2!=null&&range.Value2.ToString()!="");
   return rowIndex-2;
}
 

三、往已存在的excel中写数据


private void WriteToExcel(string path,DataTable dt)
{
    if(dt==null)
    return;
    object missing=Type.Missing;
    MyExcel.Application excelApp=new MyExcel.Application();
    MyExcel.Workbook wBook=MyExcel.Workbooks.open(path, missing, missing, missing, missing, missing,
                       missing,missing, missing, missing,missing, missing, missing, missing, missing);
    MyExcel.Worksheet sheet=(MyExcel.Worksheet)wBook.Worksheets.get_Item(1);
    int rowCount=GetRealRowCount(sheet);
    int excelRowIndex=rowCount==0?1:rowCount+1;//excel索引以1开始
    foreach(DataRow dr in dt.Rows)
    {
      ((MyExcel.Range)sheet.Cells)[ExcelRowIndex++,1]).Value2=dr["TEST"];
    }
    wBook.Save();
    wBook.Close(false, missing, missing);
    excelApp.Quit();
    GC.Collect();
}


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值