日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 編程 > C# > 正文

c# DataTable 針對xml、excel、csv導入和導出

2023-05-18 12:33:14
字體:
來源:轉載
供稿:網友

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

一定要導入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(); 
               
            //上面注釋的代碼是一種以流的方式導入excel的,當數據在從此excel讀取時會報一個異常,如果要對excel寫入和讀取最好用下面一種方式

                 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];
                 //寫入字段
                 for (int i = 0; i < dt.Columns.Count; i++)
                 {
                     worksheet.Cells[1, i + 1] = dt.Columns[i].ColumnName;
                 }
                 //寫入數值
                 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();//列寬自適應。
                 workbook.Saved = true;
                 workbook.SaveCopyAs(filepath);
                 xlApp.Quit();
                 GC.Collect();//強行銷毀
                 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>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产日韩中文在线| 欧美日韩乱国产| 精品国内自产拍在线视频| 欧美一级久久| 欧美日韩精品三区| 黄色国产网站在线观看| 99国产成 人 综合 亚洲欧美| 丰满少妇一区| 一区在线视频观看| 91精品国产综合久久久久久| 一区二区高清视频| 日韩中文字幕在线视频播放| 日韩国产欧美三级| 亚洲福利一区| 在线国产1区| 一二三区精品视频| 欧美 日韩 中文字幕| 国产欧美日韩视频在线| 91精品婷婷国产综合久久竹菊| 日韩欧美一卡二卡| 刘玥91精选国产在线观看| 久久香蕉一区| 日韩在线小视频| 亚洲天堂国产视频| 天堂在线一区二区三区| 免费网站看黄yyy222| 欧美日韩国产三级| 亚洲一区中文在线| 91精品综合久久| 精品一二三区视频| 免费看日韩精品| 亚洲中文字幕一区| 欧美久久在线| 国产乱国产乱300精品| 日韩视频在线免费播放| 日韩在线视频网| 国产日韩精品在线观看| 欧美在线视频一区二区| 一级一片免费视频| 91精品国产综合久久久久| 欧美另类专区| 91蜜桃婷婷狠狠久久综合9色| 自拍日韩亚洲一区在线| 亚洲国内精品视频| 日韩欧美亚洲视频| 在线欧美日韩精品| 顶级网黄在线播放| 久艹在线视频| 在线视频第一页| 亚洲中文字幕在线一区| 欧美一卡2卡三卡4卡5免费| 色综合天天性综合| 91精品婷婷国产综合久久| 亚洲欧洲三级| 人成免费在线视频| 欧美国产一级片| 色综合天天性综合| 久草中文在线观看| 亚洲一级特黄| 黄色资源在线观看| 午夜高潮免费视频| 久久精品最新免费国产成人| 亚洲一区日韩精品中文字幕| 在线一区二区三区精品| av高清一区| 久久久99久久| 久久精品国产2020观看福利| 国产成人综合精品| 狠狠色综合色区| 欧美不卡123| 欧美熟妇乱码在线一区| 国产区高清在线| 国产日韩在线亚洲字幕中文| 中文字幕日韩在线观看| 国产欧美日韩在线看| 一区二区三区精品久久久| 亚洲男人在线| 国产一区成人| 日韩av综合在线观看| 欧洲精品二区| 欧美另类专区| 色屁屁一区二区| 日韩精品手机在线观看| 日韩精品视频免费播放| 日韩三级一区| 另类专区欧美| 日韩中文字幕视频在线| 99精品999| 69av亚洲| 欧美 日韩 国产在线| 91精品在线免费| 欧美日韩视频在线| 午夜一区二区三区| 国产在线日韩精品| 中文在线一区二区| 91精品国产综合久久福利| 国产在线第一页| 麻豆精品99| 亚洲成a人片在线www| 阿v免费在线观看| 国产无遮挡在线视频免费观看| 国产成人va亚洲电影| 日韩在线观看一区| 精品日韩一区二区三区免费视频| 中文字幕日韩高清| 免费看日韩精品| 日韩在线二区| av一区在线观看| 欧洲一级精品| 久久精品久久精品亚洲人| 日韩欧美三级视频| 日韩精品丝袜在线| а√天堂8资源中文在线| 国产成人精品三级| 91精品国产免费| а√天堂中文在线资源8| 欧美日韩综合视频| 日韩三级视频在线看| www.精品av.com| a√免费观看在线网址www| 国产欧美综合在线观看第十页| 亚洲一区在线观看网站| 亚洲国产欧美久久| 99久久精品国产成人一区二区| 欧美专区中文字幕| 国产黄色在线播放| 91精品国产经典在线观看| 日韩精品视频中文在线观看| 日韩专区中文字幕| 欧美日韩在线网站| 91久久精品网| 一区二区视频免费看| 欧美日韩国产三级| 91精品国产免费久久综合| 欧美一级日韩一级| 中文字幕亚洲高清| 阿v免费在线观看| 久久99精品国产| 日韩中文字幕第一页| 中文字幕欧美日韩va免费视频| 欧美中文字幕| 国产在线观看色| 中文字幕在线观看亚洲| 久久久99精品久久| 国产欧美日韩综合精品| 日韩视频在线一区二区| 亚洲视频在线观看三级| 在线视频亚洲| 久久99精品久久久久婷婷| 日韩精品国产欧美| 一二三区精品视频| 国产一二三区精品视频| 日韩精品综合在线| 在线日韩欧美| 粉嫩喷白浆久久| 日韩综合精品| 欧美日韩中文字幕日韩欧美| 日韩中文在线字幕| 丰满少妇一区| 国产三级做爰在线观看| 日韩视频在线免费看| 欧美日韩亚洲视频| 亚洲综合在线小说| 日韩中文在线字幕| 日韩wumaV| 国产欧美中文在线| av首页在线| 国产在线高潮| 日韩精品第一区| 91精品国产色综合久久不卡蜜臀 | 日韩免费不卡avV| 久久久91精品国产| 欧美一级久久| 久久久精品国产免费观看同学| 中文字幕一区二区三区精品| 日韩福利视频导航| 免费在线国产| 国产不卡在线观看视频| 一本大道一区二区三区| aa国产成人| 日韩欧美综合在线| 日韩视频在线一区二区三区| 天堂在线中文资源| 精品国产99| 日韩中文字幕在线一区| 欧美日韩亚洲一| 天天综合天天| 亚洲成av人片在线| 中文亚洲免费| 中文 欧美 日韩| a√免费观看在线网址www| 中文字幕在线观看国产| 91精品免费观看| av中文天堂在线| 国产日韩成人精品| 91精品国产91综合久久蜜臀| 日本精品在线| 色综合久久88色综合天天免费| 日韩在线三区| 天天综合天天做| 91精品国产自产在线观看永久∴| 中文字幕在线视频日韩| 亚洲a中文字幕| 国产黄色在线看| 欧美中文字幕在线观看视频| 99综合视频| 国产欧美日韩在线播放| 日韩中文字幕观看| 精品视频999| 国产日韩综合| 亚洲欧洲在线观看av| 蜜桃久久av| 一级日本免费的| 不卡av免费在线| 免费精品国产自产拍在| 97视频在线| 中文字幕日韩在线观看| 国产日韩在线视频| www.xxxx精品| 日韩字幕在线观看| 日韩视频在线一区二区| 日韩欧美国产免费| 日韩中文首页| 亚洲福利精品在线| 中文字幕在线看视频国产欧美| 亚洲一区在线视频观看| 国产免费电影网站入口| 老司机久久99久久精品播放免费| 日韩欧美久久久| 久久久精品欧美| 国内精品99| 天天综合天天综合| 日韩中文首页| 欧美 日韩 国产在线观看| 99日韩精品| 国产高清视频一区二区| 国产性一级片| 91欧美日韩在线| 日韩欧美国产成人一区二区| 精品日韩av一区二区| 欧美日韩国产黄色| 亚洲日本精品视频| 国产区高清在线| 欧美日韩精品免费看| 欧美日韩亚洲国内综合网俺| 亚洲国产福利视频| 在线黄色国产电影| 欧美日韩国产一区在线| 日韩中文字幕在线观看视频| 国产成免费视频| 日韩久久久精品| 日韩中文字幕视频在线| 欧美久久久久久蜜桃| 精品久久人人做人人爽| 一区二区在线观看不卡| 午夜国产在线视频| 最近高清中文在线字幕在线观看1| 欧美婷婷精品激情| www.狠狠干| 中文字幕在线视频网| 久久久精品免费免费| 久久久精品日韩欧美| 91精品国产91久久久久久不卡 | 精品国产乱码一区二区| 激情久久99| 亚洲福利精品| 日韩国产高清一区| 欧美日韩国产999| 日韩国产在线不卡视频| 国产超级va在线视频| 日韩高清不卡在线| 视频一区二区中文字幕| 久久香蕉精品| 国产一级片在线播放| 日韩久久精品视频| 欧美日韩高清一区二区| 欧美特黄一区| 中文字幕亚洲区| 中文字幕在线视频网| 自拍日韩亚洲一区在线| 日韩欧美中文字幕在线观看| 日韩视频不卡中文| 日韩在线高清视频| 亚洲影视资源网| 亚洲欧美999| 国产视频一区三区| 男人的天堂网av| 美日韩精品免费视频| 中文字幕在线精品| 91精品免费观看| 欧美自拍一区| av免费在线网站| 亚洲免费中文字幕| 日韩中文字幕精品视频| 国产不卡的av| 成片免费观看| 日本а中文在线天堂| 日韩在线视频中文字幕| 欧美亚洲综合视频| 中文字幕精品一区二| 日本亚洲欧美| 国产香蕉免费精品视频| 欧美 日韩 国产在线观看| 中文字幕精品一区二区三区在线| 首页国产欧美久久| 一区二区在线高清视频| 国产在线观看黄色| а√天堂8资源中文在线| 自拍日韩亚洲一区在线| 国产91大片| 欧美二区在线观看| 91精品国产综合久久久久| 精品久久久精品| 91极品视频在线观看| 欧美日韩精品电影| 欧美日韩亚洲不卡| 91精品国产自产| 日韩欧美在线字幕| 欧美在线中文字幕| 精品国产99| 欧美日韩激情一区二区三区| 国产福利在线播放| 国精品产品一区| 精品视频久久| 日韩欧美一二三四区| 欧美不卡123| 国产视频一区三区| 天天综合天天做| 日韩亚洲欧美中文在线| 亚洲一区三区在线观看| 日韩欧美在线不卡| 国产欧美日韩三级| 国产三级视频在线| 国产激情在线视频| 国产不卡精品在线| 欧美日韩在线精品成人综合网| 欧美亚洲视频在线看网址| 欧美亚洲综合视频| 亚洲一卡二卡在线观看| www中文字幕在线观看| 国产欧美日韩在线观看| 日韩欧美成人一区二区三区| 国产三级精品网站| 国产成人精品亚洲| 欧美在线中文字幕| 日韩欧美不卡| 日韩中文字幕观看| 久久欧美中文字幕| 白嫩少妇丰满一区二区| 国产精品一区二三区| 亚洲高清免费一级二级三级| 天天综合色天天| 亚洲一区精品电影| 欧美日本精品在线| 亚洲一级在线| 中文在线视频| 国产高清在线观看| 欧美国产综合在线V| 中文字幕 欧美日韩| 欧美不卡一二三| 午夜一区二区三区视频| 欧美在线视频第一页| 免费视频最近日韩| 蜜桃精品视频| 91麻豆免费视频网站| 久草视频观看| 一区在线视频观看| wwwwww在线观看| 国产视频1区2区| 亚洲国产综合久久| 精品在线观看一区| 欧美日韩视频不卡| 一级特黄大欧美久久久| 国产午夜精品久久| 欧美日韩亚洲天堂| 最近中文字幕在线中文高清版| 国产一区日韩| 中文字幕欧美日韩va免费视频| 日韩 欧美 亚洲| 亚洲 欧美综合在线网络| 黄色在线播放网站| av免费网站在线| www.xxxx精品| 欧美黄页在线免费观看| 日韩不卡一区二区| 久久精品一二三| 99久久久精品免费观看国产| 久久99精品国产| 中文在线视频观看| 日韩精品在线观看视频| 欧美日韩精品在线播放| 国产黄色精品| 日本免费在线视频不卡一不卡二| 亚洲娇小xxxx欧美娇小| av一级在线| 国产成人精品免费网站| 精品国产免费观看一区| www.尤物.com| 国产香蕉精品视频| 日韩精品资源二区在线|