C#_DataTable导出Execl为自定义标题
2015-09-14 18:02
225 查看
public bool ExportExcel(DataTable tb, string path, string tbName) { //excel 2003格式 string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=Excel 8.0;"; //Excel 2007格式 //string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath + ";Extended Properties=Excel 12.0 Xml;"; try { using (OleDbConnection con = new OleDbConnection(connString)) { con.Open(); StringBuilder strSQL = new StringBuilder(); strSQL.Append("CREATE TABLE ").Append("[" + tbName + "]"); strSQL.Append("("); for (int i = 0; i < tb.Columns.Count; i++) { switch (tb.Columns[i].ColumnName) { case "ID": tb.Columns[i].ColumnName = "编号"; break; case "name": tb.Columns[i].ColumnName = "姓名"; break; case "phone": tb.Columns[i].ColumnName = "电话"; break; case "address": tb.Columns[i].ColumnName = "地址"; break; case "scheduleLength": tb.Columns[i].ColumnName = "预定下单长度"; break; case "welfare": tb.Columns[i].ColumnName = "福利的类型"; break; case "commodityType": tb.Columns[i].ColumnName = "抢购商品类型"; break; case "discount": tb.Columns[i].ColumnName = "折扣"; break; case "time": tb.Columns[i].ColumnName = "日期"; break; case "remarks": tb.Columns[i].ColumnName = "备注"; break; } strSQL.Append("[" + tb.Columns[i].ColumnName + "] text,"); } strSQL = strSQL.Remove(strSQL.Length - 1, 1); strSQL.Append(")"); OleDbCommand cmd = new OleDbCommand(strSQL.ToString(), con); cmd.ExecuteNonQuery(); string column = string.Empty; for (int i = 0; i < tb.Rows.Count; i++) { strSQL.Clear(); StringBuilder strfield = new StringBuilder(); StringBuilder strvalue = new StringBuilder(); for (int j = 0; j < tb.Columns.Count; j++) { switch (tb.Columns[j].ColumnName) { case "ID": tb.Columns[j].ColumnName = "编号"; break; case "name": tb.Columns[j].ColumnName = "姓名"; break; case "phone": tb.Columns[j].ColumnName = "电话"; break; case "address": tb.Columns[j].ColumnName = "地址"; break; case "scheduleLength": tb.Columns[j].ColumnName = "预定下单长度"; break; case "welfare": tb.Columns[j].ColumnName = "福利的类型"; break; case "commodityType": tb.Columns[j].ColumnName = "抢购商品类型"; break; case "discount": tb.Columns[j].ColumnName = "折扣"; break; case "time": tb.Columns[j].ColumnName = "日期"; break; case "remarks": tb.Columns[j].ColumnName = "备注"; break; } strfield.Append("[" + tb.Columns[j].ColumnName + "]"); strvalue.Append("'" + tb.Rows[i][j].ToString() + "'"); if (j != tb.Columns.Count - 1) { strfield.Append(","); strvalue.Append(","); } else { } } cmd.CommandText = strSQL.Append(" insert into [" + tbName + "]( ") .Append(strfield.ToString()) .Append(") values (").Append(strvalue).Append(")").ToString(); cmd.ExecuteNonQuery(); } con.Close(); } return true; } catch (Exception ex) { return false; } }
相关文章推荐
- C#_List转换成DataTable
- C#_abstract的用法
- C#_Winfrom下的中英文翻译
- C#_加密解密
- C#_Stream
- C#_发送手机短信
- C#_发邮件详解
- C#_发送邮件
- C#_添加xml文件
- C#_收邮件
- C#_正则表达式
- C#_IO操作
- c# yield
- C#递归批量清空TEXTBOX
- 第一次写博客,c#初学者,数组
- 关于c#动态加载程序集的一些注意事项
- 【转】C# Serializable对象序列化的作用
- Emgu入门引导——加载并显示图像(C#风格)
- C# 下实现把Array复制到ArrayList中的四种方法
- C# 将RichTextBox中内容的文档以二进制形式存