zoukankan      html  css  js  c++  java
  • asp.net DataTable导出 excel的方法记录(第三方)

    官网:http://npoi.codeplex.com/

    简单应用,主要是可以实现我们想要的简单效果,呵呵

    需要引入dll,可以在官网下载,也可在下面下载

    C#代码  收藏代码
    1. protected void getExcel(DataTable dt)  
    2.    {  
    3.        NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();  
    4.        NPOI.SS.UserModel.Sheet sheet = book.CreateSheet("test_01");  
    5.        NPOI.SS.UserModel.Row row = sheet.CreateRow(0);  
    6.        for (int i = 0; i < dt.Columns.Count; i++)  
    7.        {  
    8.            row.CreateCell(i).SetCellValue(dt.Columns[i].ColumnName);  
    9.        }  
    10.   
    11.        for (int i = 0; i < dt.Rows.Count; i++)  
    12.        {  
    13.            NPOI.SS.UserModel.Row row2 = sheet.CreateRow(i + 1);  
    14.            for (int j = 0; j < dt.Columns.Count; j++)  
    15.                row2.CreateCell(j).SetCellValue(dt.Rows[i][j].ToString());  
    16.        }  
    17.   
    18.   
    19.        //写入到客户端  
    20.        System.IO.MemoryStream ms = new System.IO.MemoryStream();  
    21.        book.Write(ms);  
    22.        Response.AddHeader("Content-Disposition", string.Format("attachment; filename=EmptyWorkbook.xls"));  
    23.        Response.BinaryWrite(ms.ToArray());  
    24.        book = null;  
    25.        ms.Close();  
    26.        ms.Dispose();  
    27.   
    28.    }  

    EXCEL导入

    C#代码  收藏代码
    1. HSSFWorkbook hssfworkbook;  
    2.         #region  
    3.         public DataTable ImportExcelFile(string filePath)  
    4.         {  
    5.             #region//初始化信息  
    6.   
    7.             try  
    8.             {  
    9.                 using (FileStream file = new FileStream(filePath, FileMode.Open, FileAccess.Read))  
    10.                 {  
    11.                     hssfworkbook = new HSSFWorkbook(file);  
    12.                 }  
    13.             }  
    14.             catch (Exception e)  
    15.             {  
    16.                 throw e;  
    17.             }  
    18.  
    19.             #endregion  
    20.   
    21.             NPOI.SS.UserModel.Sheet sheet = hssfworkbook.GetSheetAt(0);  
    22.             System.Collections.IEnumerator rows = sheet.GetRowEnumerator();  
    23.   
    24.             DataTable dt = new DataTable();  
    25.             for (int j = 0; j < (sheet.GetRow(0).LastCellNum); j++)  
    26.             {  
    27.                 dt.Columns.Add(Convert.ToChar(((int)'A') + j).ToString());  
    28.             }  
    29.   
    30.             while (rows.MoveNext())  
    31.             {  
    32.                 HSSFRow row = (HSSFRow)rows.Current;  
    33.                 DataRow dr = dt.NewRow();  
    34.   
    35.                 for (int i = 0; i < row.LastCellNum; i++)  
    36.                 {  
    37.                     NPOI.SS.UserModel.Cell cell = row.GetCell(i);  
    38.   
    39.   
    40.                     if (cell == null)  
    41.                     {  
    42.                         dr[i] = null;  
    43.                     }  
    44.                     else  
    45.                     {  
    46.                         dr[i] = cell.ToString();  
    47.                     }  
    48.                 }  
    49.                 dt.Rows.Add(dr);  
    50.             }  
    51.            return dt;  
    52.         }  
    53.         #endregion  

    这样就可以读取一个EXCEL的文件了返回一个Datatable

  • 相关阅读:
    Sitecore 9 为什么数据驱动的组织选择它
    Sitecore 个性化
    Sitecore 9 您应该了解的所有新功能和变化
    Sitecore客户体验成熟度模型之旅
    Sitecore 8.2 工作流程
    sitecore-多变量测试与A / B测试概念论述
    sitecore
    cesium1.65api版本贴地贴模型标绘工具效果(附源码下载)
    leaflet结合geoserver利用WFS服务实现图层新增功能(附源码下载)
    openlayers6实现webgl点图层渲染效果(附源码下载)
  • 原文地址:https://www.cnblogs.com/ranran/p/3918769.html
Copyright © 2011-2022 走看看