資源簡介
網上的代碼基本都是不能兼容的,一旦在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.xm
?????文件???????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個文件信息
- 上一篇:c#調用cpp的一個
- 下一篇:2011年網上書店管理系統C#
評論
共有 條評論