亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > C# > 正文

c# DataTable 針對(duì)xml、excel、csv導(dǎo)入和導(dǎo)出

2023-05-18 12:33:14
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

此段代碼是針對(duì)DataTable 對(duì)xml、excel、csv 對(duì)文件的導(dǎo)入和導(dǎo)出功能,記錄一下,以供以后使用。

一定要導(dǎo)入excel 并添加引用Microsoft.Office.Interop.Excel 11.0版本。

Default.aspx.cs文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Xml;
using System.Xml.Xsl;
using System.IO;
using System.Data.OleDb;
using System.Data.Odbc;
using System.Text;
using Excel = Microsoft.Office.Interop.Excel;


namespace fantest
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Bind();
        }
        protected void Bind()
        {
            this.GridView1.DataSource = this.GetDataTable();
            this.GridView1.DataBind();
        }
        private DataTable GetDataTable()
        {
            DataSet ds = new DataSet();
            using (SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=123456;database=test"))
            {
                string sql = "select * from InfoTable where 1=1";
                SqlDataAdapter dap = new SqlDataAdapter(sql, conn);
                dap.Fill(ds,"InfoTable");
            }
            return ds.Tables["InfoTable"];
        }
        //TO XML
        protected void Button1_Click(object sender, EventArgs e)
        {
            DataTable dt = this.GetDataTable();
            StringBuilder sb = new StringBuilder();
            sb.Append("<" + dt.TableName + ">");
            foreach (DataRow row in dt.Rows)
            {
                sb.Append("<item>");

                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    sb.Append("<" + dt.Columns[i].ColumnName + ">" + row[i].ToString() + "</" + dt.Columns[i].ColumnName + ">");
                }

                sb.Append("</item>");
            }
            sb.Append("</" + dt.TableName + ">");
            Response.ClearHeaders();
            Response.AppendHeader("Content-Disposition", "attachment; filename=ss.xml");
            Response.ContentType = "text/csv";
            Response.Write(sb.ToString());
            Response.End();
        }
        //FROM XML
        protected void Button2_Click(object sender, EventArgs e)
        {         
             string filepath = Server.MapPath("ss.xml");
             if (!File.Exists(filepath))
             {
                 Page.RegisterClientScriptBlock("msg", "<script>alert('該文件不存在!')</script>");
             }
             else
             {
                 StringReader StrStream = null;
                 XmlTextReader Xmlrdr = null;
                 try
                 {
                     XmlDocument xmldoc = new XmlDocument();
                     xmldoc.Load(filepath);
                     DataSet ds = new DataSet();
                     ds.ReadXml(new XmlTextReader(new StringReader(xmldoc.InnerXml)));
                     this.GridView2.DataSource = ds.Tables[0];
                     this.GridView2.DataBind();
                 }
                 catch (Exception ex)
                 {
                     throw ex;
                 }
                 finally
                 {
                     if (Xmlrdr != null)
                     {
                         Xmlrdr.Close();
                         StrStream.Close();
                         StrStream.Dispose();
                     }
                 }
             }
        }
        //TO EXCEL
        protected void Button3_Click(object sender, EventArgs e)
        {
                //Response.Charset = "GB2312";
                //Response.ContentEncoding = System.Text.Encoding.UTF7;
                //Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode("ss.xls", Encoding.UTF8).ToString());
                //Response.ContentType = "application/vnd.ms-excel";
                //this.EnableViewState = false;
                //StringWriter tw = new StringWriter();
                //HtmlTextWriter hw = new HtmlTextWriter(tw);
                //this.GridView1.RenderControl(hw);
                //Response.Write(tw.ToString());
                //Response.End(); 
               
            //上面注釋的代碼是一種以流的方式導(dǎo)入excel的,當(dāng)數(shù)據(jù)在從此excel讀取時(shí)會(huì)報(bào)一個(gè)異常,如果要對(duì)excel寫(xiě)入和讀取最好用下面一種方式

                 DataTable dt = this.GetDataTable();
                 string filepath = HttpContext.Current.Server.MapPath("ss.xls");
                 Excel.Application xlApp = new Excel.Application();
                 Excel.Workbooks w= xlApp.Workbooks;          
                 Excel.Workbook workbook = w.Add(Excel.XlWBATemplate.xlWBATWorksheet);
                 Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Worksheets[1];
                 //寫(xiě)入字段
                 for (int i = 0; i < dt.Columns.Count; i++)
                 {
                     worksheet.Cells[1, i + 1] = dt.Columns[i].ColumnName;
                 }
                 //寫(xiě)入數(shù)值
                 for (int r = 0; r < dt.Rows.Count; r++)
                 {
                     for (int i = 0; i < dt.Columns.Count; i++)
                     {
                         worksheet.Cells[r + 2, i + 1] = dt.Rows[r][i];
                     }
                 }
                 worksheet.Columns.EntireColumn.AutoFit();//列寬自適應(yīng)。
                 workbook.Saved = true;
                 workbook.SaveCopyAs(filepath);
                 xlApp.Quit();
                 GC.Collect();//強(qiáng)行銷(xiāo)毀
                 HttpContext.Current.Response.Buffer = true;
                 HttpContext.Current.Response.Clear();
                 HttpContext.Current.Response.ContentType = "application/ms-excel";
                 HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(filepath));
                 HttpContext.Current.Response.WriteFile(filepath);
                 HttpContext.Current.Response.Flush();
                 HttpContext.Current.Response.End();
        }
        //FROM EXCEL
        protected void Button4_Click(object sender, EventArgs e)
        {
            //Office 2007 連接字符串
            //string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "Data Source=" + @path + ";" + "Extended Properties=Excel 12.0;"
            //Office 98-2003 連接字符串(此示例使用2003) 
            string filepath = Server.MapPath("ss.xls");
            if (!File.Exists(filepath))
            {
                Page.RegisterClientScriptBlock("msg", "<script>alert('該文件不存在!')</script>");
            }
            else
            {
                string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + filepath + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
                OleDbConnection conn = new OleDbConnection(strConn);
                OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Sheet1$]", conn);
                DataSet ds = new DataSet();
                odda.Fill(ds);
                this.GridView2.DataSource = ds.Tables[0];
                this.GridView2.DataBind();
            }
        }
        //TO CSV
        protected void Button5_Click(object sender, EventArgs e)
        {
            DataTable dt = this.GetDataTable();
            HttpContext.Current.Response.Clear();
            System.IO.StringWriter sw = new System.IO.StringWriter();
            int iColCount = dt.Columns.Count;
            for (int i = 0; i < iColCount; i++)
            {
                sw.Write("/"" + dt.Columns[i] + "/"");
                if (i < iColCount - 1)
                {
                    sw.Write(",");
                }
            }
            sw.Write(sw.NewLine);
            foreach (DataRow dr in dt.Rows)
            {
                for (int i = 0; i < iColCount; i++)
                {
                    if (!Convert.IsDBNull(dr[i]))
                        sw.Write("/"" + dr[i].ToString() + "/"");
                    else
                        sw.Write("/"/"");

                    if (i < iColCount - 1)
                    {
                        sw.Write(",");
                    }
                }
                sw.Write(sw.NewLine);
            }
            sw.Close();
            HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=ss.csv");
            HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
            HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
            HttpContext.Current.Response.Write(sw);
            HttpContext.Current.Response.End();
        }
        //FROM CSV
        protected void Button6_Click(object sender, EventArgs e)
        {  
                    string filepath = Server.MapPath("ss.csv");
                    if (!File.Exists(filepath))
                    {
                        Page.RegisterClientScriptBlock("msg", "<script>alert('該文件不存在!')</script>");
                    }
                    else
                    {
                        string strConn = @"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=";
                        strConn += ";Extensions=asc,csv,tab,txt;";
                        OdbcConnection objConn = new OdbcConnection(strConn);
                        DataSet ds = new DataSet();
                        try
                        {
                            string strSql = "select * from " + filepath;
                            OdbcDataAdapter odbcCSVDataAdapter = new OdbcDataAdapter(strSql, objConn);
                            odbcCSVDataAdapter.Fill(ds);
                            this.GridView2.DataSource = ds.Tables[0];
                            this.GridView2.DataBind();
                        }
                        catch (Exception ex)
                        {
                            throw ex;
                        }
                    }
        }
    }
}

Default.aspx文件:

<%@ Page Language="C#" EnableEventValidation = "false" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="fantest._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
</head>
<body >
    <form id="form1" runat="server">
     <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>
        <asp:GridView ID="GridView2" runat="server">
     </asp:GridView>
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="toxml" />
        <asp:Button ID="Button2" runat="server" onclick="Button2_Click"
            Text="from xml" />
        <asp:Button ID="Button3" runat="server" onclick="Button3_Click"
            Text="toexcel" />
        <asp:Button ID="Button4" runat="server" onclick="Button4_Click"
            Text="fromexcel" />
        <asp:Button ID="Button5" runat="server" onclick="Button5_Click" Text="tocsv" />
        <asp:Button ID="Button6" runat="server" onclick="Button6_Click"
            Text="fromcsv" />
      
    </form>
</body>
</html>

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
日本久久久久久久久| 青草全福视在线| 99er在线视频| 成人av免费在线播放| 亚洲一卡二卡| 未满十八勿进黄网站一区不卡| 91精品1区| 91影院在线免费观看| 久久午夜无码鲁丝片| 免费看av的网址| 韩国一区二区在线观看| 在线视频xx| 洋洋成人永久网站入口| 97免费观看视频| 国产精品18hdxxxⅹ在线| 麻豆系列在线观看| 天天操夜夜操国产精品| 一区二区三区中文在线观看| 小舞被吸乳羞羞网站视频| 久久久五月婷婷| 欧美一级欧美一级在线播放| 国产精品7m凸凹视频分类| 日韩三级在线播放| 欧美日本国产视频| 亚洲bt欧美bt精品777| 91精品久久久久久久久久| 久久av高潮av无码av喷吹| 亚洲精品九九| 你懂的视频在线免费| 国产成人鲁色资源国产91色综| 无码播放一区二区三区| 亚洲一区二区三区中文字幕在线| www.狠狠lu| 欧美人成在线观看ccc36| 国产亚洲成av人在线观看导航| 亚洲久久中文字幕| 日韩欧美午夜| 欧美国产一区二区三区激情无套| 欧美日韩精品一区| 欧美一区二区二区| 日韩精品一二三四| 中文字幕欧美国内| 国产视频二区在线观看| 久久精品视频免费观看| 国精品人妻无码一区二区三区喝尿| 麻豆电影在线播放| 国产精品有限公司| 国产精彩视频在线观看| 免费国产亚洲视频| 欧美视频一二三| 亚洲爱爱综合网| 国产在线超碰| 黄色欧美日韩| 久久66热re国产| 国产精品视频第一区二区三区| 最近2019中文字幕一页二页| 97公开免费视频| a免费在线观看| eeuss第一页| 九色视频在线观看| 国产高清在线不卡| 热门国产精品亚洲第一区在线| 爱爱爱爱免费视频| 日韩午夜av电影| www国产精品| 日韩欧美国产二区| 日韩久久精品一区二区三区| 我要色综合中文字幕| 精品裸体舞一区二区三区| 欧美午夜一区二区三区| 国产精品麻豆成人av电影艾秋| 天天综合狠狠精品| 亚洲精品动漫| 情se视频网在线观看| 中文字幕一区二区人妻在线不卡| 黑人精品xxx一区| 日韩三区在线观看| 亚洲人与黑人屁股眼交| 99精品视频在线观看免费| 欧美另类一区二区三区| 伊人激情综合网| 久久这里只有精品首页| 日本一区二区三区播放| 深夜视频一区二区| 国产欧美亚洲一区| 国产拍欧美日韩视频二区| 性欧美xxxx免费岛国不卡电影| 久久精品国产一区二区三区免费看| 国产美女永久无遮挡| 国产美女主播在线播放| 国产精品中文字幕亚洲欧美| 高潮毛片无遮挡| 热舞福利精品大尺度视频| 亚洲综合激情另类专区老铁性| 老太做爰xxxx| 欧美日韩国产在线播放网站| 欧产日产国产精品视频| 日韩精品三级| 国产在线视频资源| 国产精品理论在线| 欧洲不卡av| 日韩欧美亚洲精品| 欧美交换国产一区内射| 精品视频免费观看| 色哟哟一区二区在线观看| 亚洲成人一区在线观看| 国产伦精品一区二区三区视频孕妇| 99re热精品| 久久久久99精品国产片| 久久久久久久蜜桃| 欧美.日韩.国产.一区.二区| 日韩大片免费观看视频播放| 成人福利视频在线看| 9999在线精品视频| 国产成人av福利| 国产精品伦一区二区三级视频| 欧美精品v日韩精品v国产精品| 男操女免费网站| 99精品国产一区二区青青牛奶| 日本高清视频免费在线观看| 天天av天天操| 亚洲欧洲日韩精品在线| 国产精品伦理| 性欧美暴力猛交69hd| 亚洲成精国产精品女| 欧美一区二区精品| 国产精品一区二区你懂的| 国产精品久久毛片av大全日韩| 欧美国产欧美亚州国产日韩mv天天看完整| 国产男人搡女人免费视频| 日批视频免费播放| 8av国产精品爽爽ⅴa在线观看| 亚洲成在人线在线播放| 国产成人精品一区二区在线小狼| 国产精品a成v人在线播放| 国产有码在线一区二区视频| 日韩欧美第二区在线观看| 久久riav| 国产精品国产三级国产aⅴ| 欧美性一级生活| 亚洲图片 自拍偷拍| 国产女主播自拍| 午夜综合激情| 成人一级片网址| 在线黄色国产视频| 亚洲国产欧美一区二区三区不卡| 久热成人在线视频| 2020中文字幕在线| av大片免费看| 亚洲黄色性网站| 亚洲欧美日韩精品久久| 免费看一级毛片| 亚洲精品日韩av| 欧美 亚洲 视频| 亚洲成av人影院在线观看网| 国产精品免费精品一区| 黄色片久久久久| 自慰无码一区二区三区| 国产成+人+综合+亚洲欧美| 91插插插插插插插插| 91综合精品国产丝袜长腿久久| 国产在线视频第一页| 日本精品一区二区三区在线播放视频| 国产精品稀缺呦系列在线| 日本一道高清亚洲日美韩| 色综合一本到久久亚洲91| 成人av在线观| 欧美精品一区在线发布| 精品国产乱码久久久久久久软件| 中文字字幕在线观看| 亚洲欧美色婷婷| 女同另类激情重口| 国产电影一区二区在线观看| 欧美大奶一区二区| 久久五月婷婷丁香社区| 久久一留热品黄| 国产麻豆麻豆| 妞干网在线播放| 欧美日韩中文在线视频| 国产原创在线播放| 国产精品久久久久白浆| 欧美极品少妇xxxxⅹ喷水| 深夜视频一区二区| 欧美一区二区三区日韩| 久久免费在线观看视频| 91看片淫黄大片一级| 国产日韩欧美一区在线| 四虎免费在线观看视频| 久久久久在线观看| 国产免费黄视频| av一区二区三区在线观看| 亚洲av无一区二区三区| 亚洲男女在线观看| 国产亚洲欧美日韩精品一区二区三区| 天天av天天翘天天综合网| 亚洲天堂黄色| 成人a视频在线| 国产性做久久久久久| 91久久精品国产91性色69| 日日摸夜夜添夜夜添国产精品| 香蕉av在线播放| eeuss影院www在线观看手机| 国产无遮挡一区二区三区毛片日本| 日韩你懂的在线播放| 欧美性感一类影片在线播放| 亚洲国产一区二区三区在线播放| 美女诱惑一区二区| 欧美日韩国产精品专区| 欧美一级免费大片| 久久久亚洲福利精品午夜| 97精品伊人久久久大香线蕉| 亚洲va久久久噜噜噜久久| 九九热免费在线| 久久久人成影片一区二区三区| 欧美影视一区| 成av人免费青青久| 亚洲乱码一区二区三区| 中文字幕成人在线观看| 少妇性饥渴无码a区免费| 欧洲美女免费图片一区| 三级毛片在线看| 国产偷激情在线| 日本中文字幕在线免费观看| 在线精品国产亚洲| 91青青国产在线观看精品| 中文字幕一区二区三区欧美日韩| 亚洲国产日韩成人综合天堂| 最新亚洲视频| 亚洲校园激情春色| 丝袜熟女一区二区三区| 欧美日韩国产成人在线观看| 91九色精品国产一区二区| 国产精品**亚洲精品| 亚洲欧美国产另类| 久久久99国产精品免费| 污视频网站在线| 中文字幕中文字幕在线中高清免费版| 日韩亚洲综合在线| 熟妇人妻中文av无码| 91社影院在线观看| 国产美女高潮在线| 国产91对白刺激露脸在线观看| 丰满人妻一区二区| 中文字幕欧美一| 中文字幕在线播放不卡一区| 污污视频免费看| 国产精品第一页在线| 日韩和欧美一区二区| 九九热爱视频精品视频高清| www.射射射| 96sao精品视频在线观看| 亚洲午夜久久久久| 免费在线黄色电影| 91小视频网站| 好男人www在线视频| 色噜噜日韩精品欧美一区二区| 国产精品一区二区女厕厕| 秋霞在线一区| 色噜噜狠狠成人中文综合| 欧美专区日韩视频| youjizz国产精品| 成人在线视频中文字幕| 免费黄在线观看| 2色视频网站| 日本成人中文字幕在线视频| 天天干在线影院| 国产精品igao视频网网址不卡日韩| 日韩在线国产精品| 亚洲视频重口味| 精品一区免费观看| 天堂中文在线观看| 亚洲国产www| 欧美系列日韩一区| 国产精品久久久久久久久久辛辛| 翡翠波斯猫1977年美国| av在线免费观看网| 极品人妻一区二区三区| 久久不见久久见国语| 欧美性猛交bbbbb精品| 三级视频在线看| 国产精品无码免费专区午夜| 狠狠色噜噜狠狠狠狠8888| 成人免费淫片视频软件| 国产成人免费91av在线| 国产麻豆视频| 国产三级理论片| 亚洲欧美日韩成人在线| 国产精品theporn| 日韩av一区二区在线播放| 中文字幕亚洲欧美一区二区三区| 人人狠狠综合久久亚洲婷| 国产夫妻性生活视频| 成年人网站免费视频| 蜜桃视频网站在线| 色综合久久久无码中文字幕波多| 成人福利网站在线观看11| 91精品国产自产在线观看永久∴| eeuss影影院www在线播放| 国产网红在线| 中文字幕不卡在线视频极品| 91福利在线免费观看| 国产成人aa精品一区在线播放| 国产美女在线一区二区三区| 亚洲高清视频免费观看| 婷婷伊人五月天| 国产高清成人久久| 超级砰砰砰97免费观看最新一期| av在线免费观看网站| 久久亚洲影视| 蜜桃视频在线观看一区| 在线播放网站| 久久av日韩| 亚洲欧美一区二区三区久本道91| 亚洲欧美国产日韩天堂区| 亚洲欧美在线精品| 亚洲性生活大片| 国产资源在线看| 大胆欧美熟妇xx| 欧美日韩亚洲一区在线观看| 久久久久久国产精品日本| 色婷婷久久久综合中文字幕| 日本成人在线免费| mm131国产精品| 天堂av网在线| 波多野结衣成人在线| 亚洲国产精品视频| www.黄com| 欧美一区二区免费在线观看|