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 = ; 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 - , );
strSQL.Append(")"); OleDbCommand cmd = new OleDbCommand(strSQL.ToString(), con);
cmd.ExecuteNonQuery();
string column = string.Empty;
for (int i = ; i < tb.Rows.Count; i++)
{
strSQL.Clear();
StringBuilder strfield = new StringBuilder();
StringBuilder strvalue = new StringBuilder();
for (int j = ; 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 - )
{
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#_DataTable导出Execl为自定义标题的更多相关文章

  1. asp.net中导出Execl的方法

    一.asp.net中导出Execl的方法: 在 asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址 输出在浏览器上:一种是将文件直接将文件输出流写给 ...

  2. js导出execl兼容ie Chrome Firefox各种主流浏览器(js export execl)

    第一种导出table布局的表格 <html> <head> <meta charset="utf-8"> <script type=&qu ...

  3. C# NPOI 导出Execl 工具类

    NPOI 导出Execl 自己单独工具类 详见代码 using System; using System.Collections.Generic; using System.Linq; using S ...

  4. MVC 导出Execl 的总结几种方式 (二)

    接着上面的来,继续导出Execl 的功能 使用FileResult 方式直接可以生产Execl ,这样我们将会写大量处理后台的代码,个人感觉不好,只是展示出来,提供参考 第一步:编辑控制器 publi ...

  5. NOPI导出execl 多个sheet,一列图片

    NPOI API: http://www.cnblogs.com/atao/archive/2009/11/15/1603528.html http://blog.csdn.net/pan_junbi ...

  6. js导出execl 兼容ie Chrome Firefox各种主流浏览器(js export execl)

    第一种导出table布局的表格 1 <html> 2 3 <head> 4 <meta charset="utf-8"> 5 <scrip ...

  7. Android之自定义标题

    我们知道我们创建的每一个Activity,系统默认为我们提供了一下黑色的标题,本篇我将带领大家接触一下如何实现自定义标题样式.相比系统为我们提供的样式,自定义标题可以满足我们唯心所欲的自定义设计,使我 ...

  8. 当用GridView导出Execl的时候,会发生只能在执行 Render() 的过程中调用 RegisterForEventValidation的错误

    当用GridView导出Execl的时候,会发生只能在执行 Render() 的过程中调用 RegisterForEventValidation的错误提示. 有两种方法可以解决以上问题: 1.修改we ...

  9. GridView多行标题行、改造标题行、自定义标题行完美版

    网上找了个找,最终还是自己做的比较靠谱,道理很简单,直接看代码 代码:   /// <summary> /// =================== 两行标题行 ============ ...

随机推荐

  1. ROADS

    ROADS Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11977 Accepted: 4429 Description N ...

  2. JAVA基础知识之IO——Java IO体系及常用类

    Java IO体系 个人觉得可以用"字节流操作类和字符流操作类组成了Java IO体系"来高度概括Java IO体系. 借用几张网络图片来说明(图片来自 http://blog.c ...

  3. ip地址定位库

    ip2region 1.2.1 发布了,新增 Python 内存查询+数据文件更新. 准确率99.9%的ip地址定位库,0.0x毫秒级查询,数据库文件大小只有1.5M,提供了java, php, c, ...

  4. java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal

    今天用maven编写Selenium测试程序时,调用 HtmlUnitDriver driver = new HtmlUnitDriver(true); 反法时报错如下: java.lang.NoCl ...

  5. flume ng系列之——flume安装

    flume版本:1.5.0 1.下载安装包: http://www.apache.org/dyn/closer.cgi/flume/1.5.0/apache-flume-1.5.0-bin.tar.g ...

  6. 为什么需要main函数,及其参数的用法

    首先,需要明确main函数是什么? 答:main函数是C语言约定的入口函数 C99标准里面是这样描述的: Program startup The function called at program ...

  7. shell与kernel的理解 转载

    Shell 的英文释义是外壳,与 kernel 内核名词遥相呼应,一外一内,一壳一核.内核就像瑞士银行的金库,存放着客户的黄金等众多的(硬件)资产,闲杂人等(包括客户)当然是严格禁止入内的,而作为客户 ...

  8. MySQL基础(五)——视图

    MySQL基础(五)--视图

  9. KEIL MDK 5.12帮你快速建工程模板的技巧

    KEIL 5帮你快速建工程模板的技巧 本人使用keil mdk 5.12有一段时间了,发现keil mdk 5.12里面驱动库比较方便.这个新功能可以节省我们的时间,也可以让初学者能尽快上手和掌握这个 ...

  10. Horizontal Toolbar With Navigational Buttons Form Sample For Oracle Forms 10g/11g

    Sharing an Oracle Form Htoolbar.fmb for Oracle Forms 10g/11g containing Horizontal Toolbar canvas an ...