Asp.Net使用Npoi导入导出Excel的方法_实用技巧

asp.net针对Excel文件的导入与导出是非常常见的功能之一。本文实例讲述了Asp.Net使用Npoi导入导出Excel的方法。分享给大家供大家参考之用。具体方法如下:

在使用Npoi导出Excel的时候,服务器可以不装任何office组件,一般在导出时用到Npoi导出Excel文件,所导Excel也符合规范,打开时也不会有任何文件损坏之类的提示。但是在做导入时还是使用OleDb的方式,这种方式的导入在服务器端似乎还是需要装office组件的。

一、Npoi导出/下载Excel

具体功能代码如下:

public void NpoiExcel(DataTable dt, string title)
{
  NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
  NPOI.SS.UserModel.ISheet sheet = book.CreateSheet("Sheet1");

  NPOI.SS.UserModel.IRow headerrow = sheet.CreateRow(0);
  ICellStyle style = book.CreateCellStyle();
  style.Alignment = HorizontalAlignment.Center;
  style.VerticalAlignment = VerticalAlignment.Center;

  for (int i = 0; i < dt.Columns.Count; i++)
  {
 ICell cell = headerrow.CreateCell(i);
 cell.CellStyle = style;
 cell.SetCellValue(dt.Columns[i].ColumnName);

  }

  MemoryStream ms = new MemoryStream();
  book.Write(ms);
  Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xls", HttpUtility.UrlEncode(title + "_" + DateTime.Now.ToString("yyyy-MM-dd"), System.Text.Encoding.UTF8)));
  Response.BinaryWrite(ms.ToArray());
  Response.End();
  book = null;
  ms.Close();
  ms.Dispose();
}

二、Asp.Net导入Excel

导入仍然是用OleDb这种方式,感兴趣的朋友可以尝试一下其他方法。

具体功能代码如下:

/// <summary>
/// 连接Excel 读取Excel数据  并返回DataSet数据集合
/// </summary>
/// <param name="filepath">Excel服务器路径</param>
/// <param name="tableName">Excel表名称</param>
/// <returns></returns>
public static System.Data.DataSet ExcelSqlConnection(string filepath, string tableName)
{

  string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";
  OleDbConnection ExcelConn = new OleDbConnection(strCon);
  try
  {
 string strCom = string.Format("SELECT * FROM [Sheet1$]");
 ExcelConn.Open();
 OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, ExcelConn);
 DataSet ds = new DataSet();
 myCommand.Fill(ds, "[" + tableName + "$]");
 ExcelConn.Close();
 return ds;
  }
  catch
  {
 ExcelConn.Close();
 return null;
  }
}

相信本文所述对大家的asp.net程序设计有一定的借鉴价值。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索asp.net
, 导入
, excel
, 导出
, npoi
使用
,以便于您获取更多的相关知识。

时间: 2024-08-02 07:59:43

Asp.Net使用Npoi导入导出Excel的方法_实用技巧的相关文章

ASP.NET使用GridView导出Excel实现方法_实用技巧

本文实例讲述了ASP.NET使用GridView导出Excel实现方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: /// <summary>  /// 将DataTable数据导出到EXCEL,调用该方法后自动返回可下载的文件流  /// </summary>  /// <param name="dtData">要导出的数据源</param>  public static void DataTable1Excel(S

asp.net实现Gradview绑定数据库数据并导出Excel的方法_实用技巧

本文实例讲述了asp.net实现Gradview绑定数据库数据并导出Excel的方法.分享给大家供大家参考,具体如下: protected void showData_Click(object sender, EventArgs e) { SqlConnection myConnection = new SqlConnection("Data Source=localhost;Initial Catalog=test;User ID=sa;password=sa"); SqlDataA

asp.net实现导出DataTable数据到Word或者Excel的方法_实用技巧

本文实例讲述了asp.net实现导出DataTable数据到Word或者Excel的方法.分享给大家供大家参考,具体如下: /// <summary>< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" /> /// 导出DataTable数据到Word或者Excel /// </summary> /// <param name=&q

asp.net中EXCEL数据导入到数据库的方法_实用技巧

本文实例讲述了asp.net中EXCEL数据导入到数据库的方法.分享给大家供大家参考.具体分析如下: excel是办公中非常常用的一个办公表格了,但我们在开发中通常会需要直接把excel数据快速导入到数据库中了,这里整理了一个asp.net中EXCEL数据导入到数据库的例子供各位参考学习. 注意:EXCEL中的第一行不能导入.下面是源码:IntoExcel.aspx: 复制代码 代码如下: <%@ Page  AutoEventWireup="true" CodeFile=&qu

asp.net简单页面控件赋值实现方法_实用技巧

本文实例讲述了asp.net简单页面控件赋值的方法.分享给大家供大家参考,具体如下: /// <summary> /// 赋值 表名,控件名,要查询的唯一数据 /// </summary> protected void SetEvaluate(string TableName, string UpName, string Id) { ContentPlaceHolder cph = (ContentPlaceHolder)Page.Master.FindControl("

asp.net调用系统设置字体文本框的方法_实用技巧

本文实例展示了asp.net调用系统设置字体文本框的方法,是进行web开发中很实用的技巧.具体实现步骤如下: 一.调用系统字体文本框 首先在bin文件夹右击-->添加引用-->.net标签里选择:System.Windows.Forms-->确定 然后在cs文件里引入: using System.Windows.Forms; 添加如下代码: FontDialog fd = new FontDialog(); fd.ShowDialog().ToString(); 就可以调出系统设置字体的

asp.net GridView中使用RadioButton单选按钮的方法_实用技巧

本文实例讲述了asp.net GridView中使用RadioButton单选按钮的方法.分享给大家供大家参考,具体如下: 在GridView里做单选按钮,我用了三种方法 第一种方法:在GridView的模版列里加服务器端控件RadioButton,使用js控制单选 使用模版列里加RadioButton <script type="text/javascript"> function setRadio(nowRadio) { var myForm,objRadio; myF

asp.net实现中英文多域名检测的方法_实用技巧

本文实例讲述了asp.net实现中英文多域名检测的方法.分享给大家供大家参考,具体如下: 第一步:在前台页面中写入js代码和相关控件 /****写入js代码****/ <%-- 域名检测 --%> <script type="text/javascript"> //判断输入的是否为中文域名 function IsChDomain(domainStr) { var flag = false; var compStr = "ABCDEFGHIGKLMNOP

asp.net提取多层嵌套json数据的方法_实用技巧

本文实例讲述了asp.net提取多层嵌套json数据的方法.分享给大家供大家参考,具体如下: 在.net 2.0中提取这样的json: 复制代码 代码如下: {"name":"lily","age":23,"addr":{"city":guangzhou,"province":guangdong}} 引用命名空间: using Newtonsoft.Json; using Newtons