• 大小: 3.76MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-19
  • 语言: C#
  • 标签: 导出EXCEL  兼容  

资源简介

网上的代码基本都是不能兼容的,一旦在EXCEL2007打开,就会提示扩张名不一致问题,自己研究了好久,封装了一套,希望能帮到有需要的人,绝对能用

资源截图

代码片段和文件信息

using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Web;

namespace ImportEXCEL
{
    public class EXCELHelper
    {
        /// 
        /// 把DataTable写成EXCEL后放入文件流
        /// 

        /// 
        /// 
        public static MemoryStream RenderToExcel(DataTable table)
        {
            MemoryStream ms = new MemoryStream();

            using (table)
            {
                IWorkbook workbook = new HSSFWorkbook();

                ISheet sheet = workbook.CreateSheet();

                IRow headerRow = sheet.CreateRow(0);

                // handling header. 
                foreach (DataColumn column in table.Columns)
                    headerRow.CreateCell(column.Ordinal).SetCellValue(column.Caption);//If Caption not set returns the ColumnName value 

                // handling value. 
                int rowIndex = 1;

                foreach (DataRow row in table.Rows)
                {
                    IRow dataRow = sheet.CreateRow(rowIndex);

                    foreach (DataColumn column in table.Columns)
                    {
                        dataRow.CreateCell(column.Ordinal).SetCellValue(row[column].ToString());
                    }

                    rowIndex++;
                }

                workbook.Write(ms);
                ms.Flush();
                ms.Position = 0;
            }
            return ms;
        }

        /// 
        /// 导出EXCEL
        /// 

        /// 数据源
        /// 文件名
        public static void ImportExcel(DataTable table string fileName)
        {
            MemoryStream ms = RenderToExcel(table);
            string ExcelFileName = System.AppDomain.CurrentDomain.baseDirectory + “\\TempFile\\“ + fileName + DateTime.Now.ToString(“yyyyMMddHHmmss“) + “.xls“;
            //保存到本地
            using (FileStream fs = new FileStream(ExcelFileName FileMode.Create FileAccess.Write))
            {
                byte[] data = ms.ToArray();

                fs.Write(data 0 data.Length);
                fs.Flush();

                data = null;
            }
            //让用户选择下载位置
            Download(ExcelFileName fileName);
        }

        /// 
        /// 下载并删除临时文件
        /// 

        /// 
        /// 
        public static void Download(string readurl string fileName)
        {
            HttpContext context = HttpContext.Current;
            string filePath = readurl;//路径

            System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath);

            if (fileInfo.Exists == true)
            {
                const long ChunkSize = 10240

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     200704  2013-01-02 20:15  ImportEXCEL\ImportEXCEL\bin\ICSharpCode.SharpZipLib.dll

     文件       8192  2014-03-03 12:15  ImportEXCEL\ImportEXCEL\bin\ImportEXCEL.dll

     文件      15872  2014-03-03 12:15  ImportEXCEL\ImportEXCEL\bin\ImportEXCEL.pdb

     文件    1600000  2014-01-05 10:51  ImportEXCEL\ImportEXCEL\bin\NPOI.dll

     文件    2133648  2014-01-05 10:51  ImportEXCEL\ImportEXCEL\bin\NPOI.xml

     文件       4412  2014-03-03 12:15  ImportEXCEL\ImportEXCEL\EXCELHelper.cs

     文件       5380  2014-03-03 12:15  ImportEXCEL\ImportEXCEL\ImportEXCEL.csproj

     文件       1086  2014-03-03 12:15  ImportEXCEL\ImportEXCEL\ImportEXCEL.csproj.user

     文件       8049  2014-03-03 12:11  ImportEXCEL\ImportEXCEL\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件        657  2014-03-03 12:15  ImportEXCEL\ImportEXCEL\obj\Debug\ImportEXCEL.csproj.FileListAbsolute.txt

     文件      13785  2014-03-03 12:15  ImportEXCEL\ImportEXCEL\obj\Debug\ImportEXCEL.csprojResolveAssemblyReference.cache

     文件       8192  2014-03-03 12:15  ImportEXCEL\ImportEXCEL\obj\Debug\ImportEXCEL.dll

     文件      15872  2014-03-03 12:15  ImportEXCEL\ImportEXCEL\obj\Debug\ImportEXCEL.pdb

     文件          0  2014-03-03 12:10  ImportEXCEL\ImportEXCEL\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs

     文件          0  2014-03-03 12:10  ImportEXCEL\ImportEXCEL\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs

     文件          0  2014-03-03 12:10  ImportEXCEL\ImportEXCEL\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs

     文件       1342  2014-03-03 12:10  ImportEXCEL\ImportEXCEL\Properties\AssemblyInfo.cs

     文件        356  2014-03-03 12:10  ImportEXCEL\ImportEXCEL\Web.config

     文件       1245  2014-03-03 12:10  ImportEXCEL\ImportEXCEL\Web.Debug.config

     文件       1306  2014-03-03 12:10  ImportEXCEL\ImportEXCEL\Web.Release.config

     文件        499  2014-03-03 12:15  ImportEXCEL\ImportEXCEL\WebForm1.aspx

     文件       1498  2014-03-03 12:15  ImportEXCEL\ImportEXCEL\WebForm1.aspx.cs

     文件       1147  2014-03-03 12:10  ImportEXCEL\ImportEXCEL\WebForm1.aspx.designer.cs

     文件        923  2014-03-03 12:10  ImportEXCEL\ImportEXCEL.sln

    ..A..H.     31232  2014-03-03 12:16  ImportEXCEL\ImportEXCEL.v11.suo

     目录          0  2014-03-03 12:10  ImportEXCEL\ImportEXCEL\obj\Debug\TempPE

     目录          0  2014-03-03 12:15  ImportEXCEL\ImportEXCEL\obj\Debug

     目录          0  2014-03-03 12:15  ImportEXCEL\ImportEXCEL\bin

     目录          0  2014-03-03 12:10  ImportEXCEL\ImportEXCEL\obj

     目录          0  2014-03-03 12:10  ImportEXCEL\ImportEXCEL\Properties

............此处省略7个文件信息

评论

共有 条评论