亚洲香蕉成人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ā)表
欧美亚洲一区在线| 一区二区xxx| 国产精品一国产精品最新章节| 水蜜桃av无码| 91老司机福利 在线| 成码无人av片在线观看网站| 久久综合色影院| 日韩欧美色综合| 国产在线精品免费av| 欧美日韩在线免费| 国产免费黄色小视频| 日本中文字幕一区二区有限公司| 日本vs亚洲vs韩国一区三区二区| 黄色小视网站| 久久九九电影| 老鸭窝亚洲一区二区三区| 小舞被吸乳羞羞网站视频| 一级特黄aa大片| 茄子视频成人在线| 成人三级在线视频| 日韩一区二区三区不卡视频| 成人在线视频一区二区| 欧美精品在线第一页| av亚洲在线| 国产自产在线视频| 国产精品第2页| 韩国自拍一区| avhd101老司机| 欧美激情三区| 亚洲一区日韩精品中文字幕| 在线观看视频欧美| 一区二区三区高清在线| 国产成人天天5g影院在线观看| 国产精品无码在线播放| 欧美三级蜜桃2在线观看| 成人3d漫画免费无遮挡软件| 精品日本美女福利在线观看| 91短视频在线观看| 亚洲精品白虎| 亚洲视频在线观看不卡| 国产精品毛片视频| 国产亚洲综合av| 国产欧美88| 日韩精品极品视频免费观看| 免费一级特黄特色毛片久久看| 国产成免费视频| 性国裸体高清亚洲| 华人av在线| 精品人妻aV中文字幕乱码色欲| 亚洲国产欧美一区| 欧美高清日韩| 免费在线观看a级片| 欧美人与动牲交xxxxbbbb| 啦啦啦免费高清视频在线观看| 色婷婷综合缴情免费观看| 国产精品国色综合久久| 成人免费视频视频在| 亚洲在线免费播放| 亚洲人成在线播放网站岛国| 国产精品㊣新片速递bt| 天天综合天天做天天综合| 精品一区二区三区四区五区| 波多野结衣 作品| 在线亚洲日本| 国产精品视频第一区二区三区| 欧美特黄级在线| 国产九九九九| 亚洲人成亚洲人成在线观看| 国产亚洲精品aa午夜观看| 欧美aaaaa级| 一级黄色片国产| 好了av在线| 欧美电影《睫毛膏》| 久久无码专区国产精品s| 在线播放一区| 91黄色在线看| jizz日本18| 久久偷拍免费视频| 欧美日韩高清在线一区| 国产日韩一区二区三区在线| 久久青青色综合| 欧美私人情侣网站| 黄色的视频在线观看免费| 91精品国产综合久久香蕉| 国产三级精品视频| 亚洲精品一卡二卡| 欧美日韩在线播放三区| 2025国产精品自拍| 亚洲视频在线一区观看| mm1313亚洲国产精品美女| 五月天精品视频| 中文字幕麻豆| 国产精品久久久久久久久毛片| 亚洲熟妇一区二区三区| 寂寞护士中文字幕mp4| 91在线视频一区| 日韩av在线看免费观看| 精品国产成人| 国产精品久久久久久亚洲调教| 成人精品鲁一区一区二区| 亚洲一区二区av在线| 亚洲羞羞网站| 成人综合国产精品| 污视频网站在线播放| 亚洲婷婷伊人| 国产男女无遮挡| 精品国内片67194| 蜜臀aⅴ国产精品久久久国产老师| 日韩在线国产精品| 黄色福利视频网站| 国产福利片一区二区| 嫩草影院入口一二三| 福利社在线免费视频| 亚洲一级片av| www.久久草| 天堂影视av| 精品欧美午夜寂寞影院| 亚洲综合精品国产一区二区三区| 青青草社区在线| xfplay每日更新av资源| 欧美精品日韩少妇| 国产午夜福利在线播放| 天天操天天色综合| 国产欧美视频在线观看| 中文字幕自拍vr一区二区三区| 久草在线在线| 久久精品免费一区二区| 亚洲国产精品成人天堂| 国产成人无码aa精品一区| 麻豆传传媒久久久爱| 刘亦菲毛片一区二区三区| 欧美bbb人妖| 亚洲一区二区在线播放相泽| 91佛爷在线| 窝窝社区一区二区| av资源免费看| 国产乱淫av免费| 男女小视频在线观看| 欧洲亚洲成人| 国产高潮呻吟久久久| 奇米亚洲欧美| 香蕉av在线播放| 免费亚洲网站| 在线播放一区二区精品视频| 国产精品chinese在线观看| 成人在线观看免费视频| 一级黄色免费在线观看| 精品一区二区在线视频| 国产成人一区二| 国产69久久精品成人看| 午夜影院观看视频免费| 久久久久久噜噜噜久久久精品| 狠狠色丁香九九婷婷综合五月| 暧暧视频免费| 亚洲女娇小黑人粗硬| 日韩中文在线视频| 国产在线a视频| 国产人成精品一区二区三| 麻豆网站在线观看| 91破解版在线观看| 中文字幕精品国产| 日韩在线免费观看视频| 日本中文字幕久久| 97se视频在线观看| 久久精品国产亚洲| 狠狠插狠狠操| 日本三级免费网站| 亚洲成人国产| 日韩丝袜视频| 国产精品三区www17con| 久久久久久久久亚洲精品| 亚洲精品字幕| 亚洲最新av网址| 国产麻豆综合| 欧美精品久久久久a| 女同性互吃奶乳免费视频| 制服丝袜专区在线| 乱色精品无码一区二区国产盗| 国产偷人妻精品一区二区在线| 亚洲成人一区二区| 亚洲精品一区二区三区新线路| 亚洲综合五月天婷婷丁香| 国产永久免费视频| 色播亚洲婷婷| 亚洲国产精品麻豆| 99久久精品无码一区二区毛片| 国产精品9999久久久久仙踪林| 亚洲天天综合| 亚洲精品视频专区| 欧美自拍小视频| 日韩av一区二区在线观看| 欧美中文字幕亚洲一区二区va在线| 97视频在线免费播放| 国产成年人在线观看| 欧美暴力调教| 91精品美女在线| 最新天堂中文在线| 亚洲最大天堂网| 91gao视频| 91久久精品久久国产性色也91| 日韩欧美中文免费| 亚洲成在人线免费| 欧美少妇bbw| 欧美三级蜜桃2在线观看| 一个人看的www在线免费视频| 精品国产区一区二区三区在线观看| 欧美成年人视频网站欧美| 91视频在线观看| 久久久久久久性| 成人免费视频caoporn| 亚洲国产成人精品激情在线| 精品人妻一区二区三区香蕉| 神马午夜精品95| 亚洲国产欧美另类丝袜| 日韩免费观看在线观看| 亚洲av激情无码专区在线播放| 久久国产在线视频| 欧美网站大全在线观看| 99久久夜色精品国产亚洲1000部| 中文字幕欧美视频| 日韩精品一区二区视频| 日韩精品视频三区| 国产情侣av自拍| 四虎永久免费地址| 综合久久一本| 激情深爱一区二区| 亚洲精品v欧美精品v日韩精品| 亚洲AV成人精品| 人妻丰满熟妇av无码久久洗澡| 狠狠操五月天| 精品久久一区二区三区蜜桃| jzzjzzjzz亚洲成熟少妇| 国产精品亚洲网站| 蜜桃视频在线观看免费视频| 亚洲精品午夜久久久久久久| 亚洲自拍偷拍欧美| 99欧美精品| 精品视频www| yw在线观看| 日韩在线视频免费看| 欧美性猛交7777777| 日韩一区二区三区四区五区| 久久久高清一区二区三区| 亚洲福利国产| 深夜视频在线免费| 最新中文字幕第一页| 国产美女激情视频| 在线不卡视频| 日av在线不卡| 91精品国产色综合久久ai换脸| 九九热在线视频观看这里只有精品| 97在线精品| 开心激情综合网| 成人在线免费小视频| 亚洲成人黄色网| jiujiure精品视频播放| 国产老肥熟一区二区三区| 全球最大av网站久久| av黄色在线网站| 91丨porny丨对白| 国产在线资源一区| 国产精品久久久久久吹潮| 亲爱的老师6电影韩剧| 亚洲无码精品在线观看| 国产人成视频在线观看| 日本激情视频在线观看| 鲁一鲁一鲁一鲁一澡| 精品成人a区在线观看| 无遮挡又色又刺激的女人视频| 欧美高清视频看片在线观看| 在线精品高清中文字幕| 成人高清视频在线观看| 国产精品成久久久久| www.精品av.com| 免费在线观看成人av| 欧美男同性恋视频网站| 精品日韩在线视频| 久久久久久久性| 精品国产乱码一区二区三区| 欧日韩免费视频| 五月天精品一区二区三区| 国产清纯白嫩初高生在线观看91| 中文字幕乱码一区二区三区| 国产精品成人播放| 久久精品福利视频| 2018日韩中文字幕| 国产乱视频在线观看| 日本在线观看网站| 免费一区二区三区视频狠狠| 国产欧美在线观看| 韩国v欧美v日本v亚洲| 生活片a∨在线观看| 精品制服美女丁香| 亚洲精品视频导航| 可骚可骚的黄视频网站| 欧美视频日韩视频在线观看| 日韩女优在线观看| 中文字幕色视频| 亚洲欧美bt| caoporn国产| 91精品人妻一区二区三区| 亚洲色成人一区二区三区小说| 亚洲国产日日夜夜| 欧美日韩中文一区二区| youjizz.com亚洲| 色欲av伊人久久大香线蕉影院| 加勒比色综合久久久久久久久| 91精品国产综合久久久久久久久| 国产在线免费看| 2222www色视频在线观看| 国产国产精品| 亚洲另类自拍| 五月天综合在线| 3atv一区二区三区| 欧美zozo| 日韩电影在线一区二区三区| 性一交一乱一色一视频麻豆| 精品国产九九九| 无遮挡aaaaa大片免费看| 国产a√精品区二区三区四区| 91短视频版在线观看www免费| 日韩视频www| 免费福利视频网站| 91国偷自产一区二区三区成为亚洲经典| 国产精品狼人色视频一区| 91极品视频在线观看| 99精品在免费线偷拍| 99精品国产高清一区二区麻豆|