C#_DataTable导出Execl为自定义标题

        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;
            }
        }
时间: 2024-10-08 18:44:52

C#_DataTable导出Execl为自定义标题的相关文章

C#中DataTable导出Execl为自定义标题

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 = &qu

asp.net中导出Execl的方法

一.asp.net中导出Execl的方法: 在 asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址 输出在浏览器上:一种是将文件直接将文件输出流写给浏览器.在Response输出时,\t分隔的数据,导出 execl时,等价于分列,\n等价于换行. 1.将整个html全部输出execl 此法将html中所有的内容,如按钮,表格,图片等全部输出到Execl中.   Response.Clear();       Response.Buffer=  

Asp.net中利用NPOI组件快速导入导出Execl数据

相信很多童鞋都开发过Execl的导入导出功能,最近产品中无论是后台数据分析的需要,还是前端满足用户管理的方便,都有Execl导入导出的维护需求产生. 以前做这个功能,如果是web,利用HttpContext.Current.Response.ContentType ="application/ms-excel";就可以导出html数据表格到execl中,这种方法的问题就是编码格式的兼容性太差,用Mac OS之类的 office打开直接乱码给你看.或者是调用office的COM组件,或宏

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

接着上面的来,继续导出Execl 的功能 使用FileResult 方式直接可以生产Execl ,这样我们将会写大量处理后台的代码,个人感觉不好,只是展示出来,提供参考 第一步:编辑控制器 public FileResult ExportFile() { var list = GetList(); var sbHtml = new StringBuilder(); string title = "order"; //标题 sbHtml.Append("<table bo

java 使用poi 结合Struts2导出execl表格

第一步写action方法: public String exportActiveExcel() { String name ="活跃度列表.xls"; try { name = java.net.URLEncoder.encode(name, "UTF-8"); fileName = new String(name.getBytes(), "iso-8859-1"); } catch (UnsupportedEncodingException e

在MySQL query browser中要导出execl表单

导出:  在MySQL query browser中要导出execl表单,只需要点击file,选择export execl就可以了(要先进入表单哦!). 导入: 数据库的数据太多一下导入有点麻烦,如何将excel的数据直接导入数据库呢? 第一步 另存为txt文档,名字最好为数据库的table名.  在这我们要保存问文本文件用制表符分割的那个,这样我们的数据就不会乱. 第二步 打开txt文档,点击另存为,修改编码,解决中文utf8.  这个时候的文件名必须和你要导入的table名称一样,否则在lo

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

第一种导出table布局的表格 <html> <head> <meta charset="utf-8"> <script type="text/javascript" language="javascript"> var idTmr; function getExplorer() { var explorer = window.navigator.userAgent; //ie if(explore

Android peferenceActivity 自定义标题简单方法

Android peferenceActivity 自定义标题简单方法 peferenceActivity 完全使用定义好的布局. 因此不能简单象其它好窗口进行自定,现在我们需要加 一个自定义标题,比如象其它窗口一样加一个统一topbar. 假设这个topbar的布局是 title.xml 一.标准自定义标题栏方法 Android 提供自定义标题栏方法 我们简单实现. @Override protected void onCreate(Bundle savedInstanceState) { f

mvc 导出execl

mvc导出execl 必须是get方法才可以  也不能使用ajax function ComplaintsExport() { var serial = $("form").serialize(); window.location.href = "/BidComplaints/Complaints/ComplaintsExport?" + serial; }; [HttpGet] [Description("导出")] public FileRe