C#与excel操作

C#与excel操作项目之中时常涉及,其中为常用的内容是表格创建及与数据库的交互,于是查阅相关资料。


C#创建保存Excel文件
private void btn_Create(object sender,EventAgrs e)
{
  string P_str_path=txt_Path.text;
  Microsoft.Office.Interop,Excel.Application excel=new Morosoft.Office.Interop.Excel.Application();
  Microsoft.Office.Interop,Excel.Workboook new Workboook=excel.Application.Workboooks add(true);
  object missing =System.Reflection.Missing.Value();
  new WorkBook.WorkSheets.add(missing,missing,missing,missing);
  if(P_str_path.EndsWith("\\"))
     new WorkBook.SaveCopyAs(P_str_path+Datetime.Now.ToString("yyyyMMddhhmmss")+."xls");
  else
     new WorkBook.SaveCopyAs(P_str_path+"\\"+Datetime.Now.ToString("yyyyMMddhhmmss")+."xls");
   MessageBox.Show("Excel文件创建成功","提示",MessangeButton.OK,MessageBoxIcon.Information);
   System.Diagnostics.Process[]execelProcess=System.Diagnostics.Process.GetProcessByName("EXCEL");
   foreach(System.Diagnostics.Process p in excelPricess)
     p.Kill();
  
}


将SQLServer 数据查询结果输出到Excel

private void btn_Excel(object sender,EventAgrs e)
{
   if(dgv_Info.Rows.Count==0)
      return;
   Microsoft.Office.Interop,Excel.Application excel=new Morosoft.Office.Interop.Excel.Application();
   excel.Application.Workbooks.Add(true);
   excel.Visible=true;
   for(int i = 0; i<div_Info.ColumnsCaount;i++)
   {
      excel.Cells[1,i+1]=div_Info.Columns[i].HeaderText
    }


   for(int i = 0; i<div_Info.RowCount-1;i++)
   {
      for(int j = 0;j<<div_Info.ColumnsCaount;j++)
      {
         if (div_Info[j,i].ValueType==typeof(string))
         excel.Cells[I+2,j+1]=""+div_Info[j,i].Value.ToString();
      }
      else
      {
        excel.Cells[i+2,j+1]=div_Info[j,i].Value.ToString();
      }
   }
  
}



从 Excel 中获取数去到指定文件
private void btn_Output(object sender,EventAgrs e)
{
   OleDbConnection olecon = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + txt_Path.Text + ";ExtendedProperties=Excel.8.0");
   olecon.open
   OleDbDataAdapter oledba = new  OleDbDataAdapter("select*from["+cbox_SheetName.Text+"$]",olecon);
   DataSet myds = new  DataSet();
   oleddba.Fill(myds);
   Stream Writer SWiter = new Stream Writer(cbox_SheetName.Text+".txt",false,Encoding.Deflaut);
   string P_str_Content="";
   for(int i =0; i<myds.Tables[0].Rows.Count;i++;)
   {
       for(int j =0,j<myds.Tables[0].Columns.Count;j++) 
       {


         P_str_Content+=myds.Tables[0].Rows[i][j].ToString()+" ";
       }
       P_str_Content+=Environment.NewLine;


   }
   SWriter.Write(P_str_Content)
   SWriter.Close();
   SWriter.Dispose();
   
}


评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值