当前位置:K88软件开发文章中心编程语言.NET.NET01 → 文章内容

c# DataTable 针对xml、excel、csv导入和导出

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2018-12-31 11:50:48

5_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>

上一页  [1] [2] 


c# DataTable 针对xml、excel、csv导入和导出