zoukankan      html  css  js  c++  java
  • Asp.net Excel导入或导出

    导入

    代码
    /**filePath: Excel路径   sheetname:Excel底部的工作表 默认是Sheet1  每个工作表 当做一个表*/  
    public void ExcelDataSource(string filepath, string sheetname)
        {
            
    //HDR=YES 把第一行作为列名  Excel 类似当做一个数据库一般
            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1;'";
            OleDbConnection conn 
    = new OleDbConnection(strConn);
            conn.Open();
            
    int count = 1;
            OleDbCommand omd 
    = conn.CreateCommand();
            omd.CommandText 
    = "select * from [" + sheetname + "$]";
            omd.CommandType 
    = CommandType.Text;
    //操作此odr就行 或填充也行
            OleDbDataReader odr = omd.ExecuteReader();
       
    /**后面代码 略**/    
    }

    导出

    代码
     
    /**fileName:要导出的Excel文件名(自定义)  ds:导出的内容**/
     
    public static void ExportDsToXls(Page page, string fileName, DataSet ds)
        {
            page.Response.Clear();
            page.Response.Buffer 
    = true;
            page.Response.Charset 
    = "UTF-8";
            page.Response.AppendHeader(
    "Content-Disposition""attachment;filename=" + fileName + System.DateTime.Now.ToString("_yyMMdd_hhmm"+ ".xls");
            page.Response.ContentEncoding 
    = System.Text.Encoding.GetEncoding("UTF-8");//设置输出流为简体中文
            page.Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 
            page.EnableViewState = false;
            page.Response.Write(ExportTable(ds));
            page.Response.End();
        }

    /**Excel导出 可以当做HTML 来处理**/
      
    public static string ExportTable(DataSet ds)
        {
            StringBuilder data 
    =new StringBuilder();
            
    //data = ds.DataSetName + "\n";
           
    //防止出现中文乱码
          data.Append("<html><head><meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">");
            
    foreach (DataTable tb in ds.Tables)
            {
                data.Append(
    "<table cellpadding='1' style='border-collapse:collapse;'>");
                
    //写出列名
                 data.Append("<tr>");
                
    foreach (DataColumn column in tb.Columns)
                {
                    data.Append(
    "<td style='border:solid 1px black;text-align:center'><b>" + column.ColumnName + "</b></td>");
                }
              data.Append( 
    "</tr>");

                
    //写出数据
                foreach (DataRow row in tb.Rows)
                {
                    data.Append( 
    "<tr>");
                    
    foreach (DataColumn column in tb.Columns)
                    {

                          
    //列出 所有的列值  以下代码按照自身需求而定
                        if (column.ColumnName == "No.")
                            data.Append(
    "<td style='border:solid 1px #cccccc;text-align:center'>" + row[column].ToString() + "#</td>");
                        
    else
                            data.Append(
    "<td style='border:solid 1px #cccccc;text-align:center'>" + row[column].ToString() + "</td>");
                    }
                     data.Append( 
    "</tr>");
                }
                data.Append( 
    "</table>");
            }
            data.Append(
    "</body></html>");

            
    return data.ToString();
        }
  • 相关阅读:
    SOGo 2.0 发布,群组协同工作系统
    微软随.NET 4.5发布新REST API框架
    DynamicReports 3.0.2 发布,Java 报表方案
    使用 Ant 集成 IBM Security AppScan Standard 进行自动测试
    SUSE 用 zypper 工具 安装 rpm
    嵌入式ARM系统中OpenCV的移植
    qtopiax86安装配置及编程方法
    [转]QTCreator的使用
    在Qt Creator中使用OpenCV库
    vim
  • 原文地址:https://www.cnblogs.com/zhangqifeng/p/1909553.html
Copyright © 2011-2022 走看看