C#与excel操作项目之中时常涉及,其中为常用的内容是表格创建及与数据库的交互,于是查阅相关资料。
C#创建保存Excel文件
将SQLServer 数据查询结果输出到Excel
从 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();
}