C#Excel导入和导出
Excel导入一、在WEB中导入Excel的方法
方法1: 通过OleDB方式获取Excel文件的数据到DataSet中,然后将Dataset中的每笔记录插入到SQL Server
using System.Data.OleDb;
using System.Data.SqlClient;
第一步:首先上传到服务器
DataTable dt = new DataTable();
string strFileNewName = DateTime.Now.ToString(“yyyyMMddhhmmss”) + “.xls”;
FileUpload1.SaveAs(Server.MapPath(“Excel/Upload/” + strFileNewName));
第二步:将Excel的内容导入到DataTable中
using (OleDbConnection conn = new OleDbConnection(“Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =” + Server.MapPath(“Excel/Upload/” + strFileNewName) + “;Extended Properties=Excel 8.0″))
{
OleDbDataAdapter da = new OleDbDataAdapter(“select * from [sheet1$]“, conn);
da.Fill(dt);
}
第三步:将Datatable中的内容逐条插入到数据库中
using (SqlConnection SqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings[1].ToString()))
{
SqlConn.Open();
for (int i = 0; i < dt.Rows.Count; i++)
{
string workno = dt.Rows[i]["工号"].ToString();
string username = dt.Rows[i]["姓名"].ToString();
string sex = dt.Rows[i]["性别"].ToString();
SqlCommand cmd = new SqlCommand(“insert into employees(workno,empname,sex) values(‘” + workno + “‘,’” + username + “‘,’” + sex + “‘)”, conn);
cmd.ExecuteNonQuery();
}
}
Response.Write(“<script language=’javascript’>alert(‘文件上传成功!’);</script>”);
}
缺点:如果要插入的记录很多,打开关闭数据库的次数会是个天文数字。
二、在winform中导入Excel的方法
由于在windows中没有现成的upload控件可以使用,那么就自己造一个吧。
一个TextBox,一个Button,一个OpenFileDialog,你点Button,触发事件里把
if(OpenFileDialog.ShowDialog()==DialogResult.OK)
{
TextBox.Text = OpenFileDialog.FileName;
//之后想干吗就干吗
}
openFileDialog的Filter属性可以设置成 “Excel 文件|*.xls”;
Excel导出在asp.net中导出Excel有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上;一种是将文件直接将文件流输出写给浏览器。在Response输出时,t分隔的数据,导出Excel时,等价于分列,n等价于换行
1、将整个html全部输出Excel此法将html中所有的内容,如按钮,表格,图片等全部输出到Excel中
Response.Clear();
Response.Buffer=true;
Response.AppendHeader("Content-Disposition","attachment;filename="+DateTime.Now.ToString("yyyyMMdd")+".xls"); &nb