Excel的导入导出功能实现
2011-01-16 18:33
567 查看
很多时候做项目的时候,都要求将数据保存为一个Excel文档,下面我实现一个Excel的导入导出功能,代码经过本人的实践测试可以实现,我也在网上了解过Excel的编程使用,有些说需要导入某些组件的,而我这个代码是不需要的,如果你懂那种方法,可以留言与我交流,让我学习了。
1、Excel的导入功能
函数只需要传入一个Datatable和一个文件名即可,但需要注意的是,Excel的列头是select出来的字段,所以,我们需要使用select id as 编号....,这样子,Excel的列头才显示为中文。
2、Excel的导入功能
1、Excel的导入功能
函数只需要传入一个Datatable和一个文件名即可,但需要注意的是,Excel的列头是select出来的字段,所以,我们需要使用select id as 编号....,这样子,Excel的列头才显示为中文。
/// <summary> /// 将DataTable 导出为EXCEL,并直接提供下载 /// </summary> /// <param name="ds">需要导处的DataTable</param> /// <param name="fileName">到处生成的文件名</param> /// public bool ExportExcelByDataTable(DataTable dt, string fileName) { try { HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Charset = "utf-7"; HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-7"); HttpContext.Current.Response.ContentType = "application/vnd.ms-excel"; StringWriter stringWrite = new StringWriter(); HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite); DataGrid dg = new DataGrid(); dg.HeaderStyle.CssClass = "dgHead"; dg.DataSource = dt; dg.DataBind(); dg.RenderControl(htmlWrite); HttpContext.Current.Response.Write(stringWrite.ToString()); HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) + ".xls"); HttpContext.Current.Response.Charset = "gb2312"; HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312"); HttpContext.Current.Response.End(); return true; } catch { return false; } }
2、Excel的导入功能
protected void Page_Load(object sender, EventArgs e) { DataTableToDB(); } //一、把DataTable插入数据库 public void DataTableToDB() { string _strExcelFileName = "D://2010.xls"; DataTable dtExcel = ExcelToDataTable(_strExcelFileName, "2010"); int res = 0; for (int i = 0; i < dtExcel.Rows.Count; i++) { res = InsertDataToAccess(dtExcel.Rows[i][1].ToString(), dtExcel.Rows[i][2].ToString(), dtExcel.Rows[i][3].ToString(), dtExcel.Rows[i][4].ToString(), dtExcel.Rows[i][5].ToString(), dtExcel.Rows[i][6].ToString(), dtExcel.Rows[i][7].ToString(), dtExcel.Rows[i][8].ToString(), dtExcel.Rows[i][9].ToString(), dtExcel.Rows[i][10].ToString(), dtExcel.Rows[i][11].ToString()); } if (res > 0) { Response.Write("yes"); } } //二、把Excel数据读入DataTable public static DataTable ExcelToDataTable(string strExcelFileName, string strSheetName) { string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strExcelFileName + ";" + "Extended Properties=Excel 8.0;"; string strExcel = string.Format("select * from [{0}$]", strSheetName); DataSet ds = new DataSet(); using (OleDbConnection conn = new OleDbConnection(strConn)) { conn.Open(); OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn); adapter.Fill(ds, strSheetName); conn.Close(); } return ds.Tables[strSheetName]; } //三、向Access数据库表插入数据 public static int InsertDataToAccess(string company, string check_time, string drug_name, string manufacturer, string batch_number, string standard, string category, string num, string createtime, string belonguser, string wenhao) { string strInsertString = "INSERT INTO drugsample (company,check_time,drug_name,manufacturer,batch_number,standard,category,num,createtime,belonguser,wenhao) VALUES (@company,@check_time,@drug_name,@manufacturer,@batch_number,@standard,@category,@num,@createtime,@belonguser,@wenhao)"; OleDbParameter[] paras = { new OleDbParameter("@company",company), new OleDbParameter("@check_time",check_time), new OleDbParameter("@drug_name",drug_name), new OleDbParameter("@manufacturer",manufacturer), new OleDbParameter("@batch_number",batch_number), new OleDbParameter("@standard",standard), new OleDbParameter("@category",category), new OleDbParameter("@num",num), new OleDbParameter("@createtime",createtime), new OleDbParameter("@belonguser",belonguser), new OleDbParameter("@wenhao",wenhao) }; int res = sqlhelper.doExecuteNonQuery(strInsertString, paras); return res; }
相关文章推荐
- 实现一个配置简单功能强大的excel工具类搞定excel导入导出(二)
- 纯前端利用 js-xlsx 实现 Excel 文件导入导出功能示例
- 在 Laravel 使用扩展包maatwebsite/excel 实现 Excel/CSV 文件导入导出功能
- PHPExcel导入导出功能实现
- C# 操作EXCEL 类 可以实现导入导出功能 折腾了好长时间 现在两种方法显示出来
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
- Laravel Excel 实现 Excel/CSV 文件导入导出功能
- Poi简单实现Excel的导出导入功能
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能(转)
- Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
- Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解 3ff8
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
- OpenXmlHelper,其于OpenXml SDK2.0写的帮助类,主要实现Excel的导出、导入的功能及具体的源码Demo
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
- 纯前端利用 js-xlsx 实现 Excel 文件导入导出功能示例
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能