资源简介
网上的代码基本都是不能兼容的,一旦在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#
相关资源
- Asp.net 导出Excel文件总结导出csv、Off
- Winform通过NPOI导出excel
- asp.net导入导出excel表,导入到sql数据
- Dev WinForm通用控件导出Excel方法(支持
- C#DataSet导出EXCEL的方法
- cefsharp使用简单用例,兼容XP解决方案
- asp.net完美导出Excel2007以后版本代码
- asp.net中用于导出excel需要的NPOI.dll
- ASP.NET导出excel
- C# winform/web导出EXCEL
- WPF导入导出Excel
- asp.net利用excel实现打印预览、导出e
- Autocomplete(自动完成 下拉提示框Aja
- C# asp.net导入和导出excel完整源码
- WPF中不规则窗体与WindowsFormsHost控件的
- WPF导出Excel
- WPF中DataGrid导出Excel和Word
- C#做的WIN窗体程序-对表的增删改查,
- C#读取和导出EXCEL类库 AppLibrary.dll
- HTML5+JQUERY文件上传,手机浏览器兼容
- c#高效导出Excel
- C#DatagridViewWinform导入导出Excel-最全完
- ASP.NET使用NPOI导出数据库到Excel文件
- AutoUpdate软件自动更新,兼容wpf、win
- C# 解决System.Data.SQLite兼容32位和64位系
- Winform中使用NPOI实现导出Excel并文件另
- 1-(2) 报表页面可以导出的Excel文件
- NModbus4 Modbus是一个C#实现Modbus协议。
- C#中控制导出Excel,Excel样式的设置
- asp.net导入和导出excel完整代码
评论
共有 条评论