博主用的是npoi2.0.1,支持.xls也支持.xlsx

直接上代码吧。

<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Shape</th>
<th>Pcs</th>
<th>Sizw</th>
<th>Size Range</th>
<th>Color</th>
<th>Clarity</th>
<th>Rap-Price</th>
<th>Cut</th>
<th>POL</th>
<th>SYM</th>
<th>H&A</th>
<th>FL</th>
<th>Diam/LxW</th>
<th>Dep%</th>
<th>Tab%</th>
<th>Rap%</th>
<th>LAB1</th>
<th>CersNo</th>
<th>LAB2</th>
<th>CersNo</th>
<th>Price/ct¥</th>
</tr>
</thead>
<tbody id="td">
</tbody>
</table>

之后用了jquery.form.js

function uploadFile() {
var options = {
type: "post",
enctype: "multipart/form-data",
url: "UploadExcel",
success: function (data) {
if (data != null) {
$("#td").append(data);
$("#uploadData").css("display", "block");
} else if (data == 0) {
layer.msg('文档加载失败!', { icon: 5 }, function () {
$("#uploadData").css("display", "none");
});
} else if (data == -1) {
layer.msg('数据库连接失败!', { icon: 5 }, function () {
$("#uploadData").css("display", "none");
});
} else {
layer.msg('未知错误!', { icon: 5 }, function () {
$("#uploadData").css("display", "none");
});
}
},
processData: true,
global: true
};
$("#form").ajaxSubmit(options);
}

跟着是动作方法

public ActionResult UploadExcel()
{
string rtn = "";
if (Request.Files.Count > )
{
HttpPostedFileBase file = Request.Files["File"];
string newFile = Server.MapPath("~/Areas/Admin/UploadFile/StockImprot/") + DateTime.Now.ToString("yyyyMMddHHmmss") + file.FileName;
while (System.IO.File.Exists(newFile))
{
newFile = Server.MapPath("~/Areas/Admin/UploadFile/StockImprot/") + DateTime.Now.ToString("yyyyMMddHHmmss") + file.FileName;
}
file.SaveAs(newFile);
DataTable ds = ExcelHelper.GetDataTable(newFile);
if (ds != null)
{
if (ds.Rows != null)
{
ViewData["datatable"] = ds;
return PartialView("_PartialDataTable"); //注意这里返回是的局部视图哦
}
}
else
{
rtn = ""; //文档加载失败
}
}
else
{
rtn = "-1";
}
return Content(rtn);
}

局部视图的代码

@if (ViewData["datatable"] != null)
{
System.Data.DataTable dt = ViewData["datatable"] as System.Data.DataTable;
foreach (System.Data.DataRow dr in dt.Rows)
{
<tr>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
</tr>
}
}

最后上一张效果图

---------------------------------------------------------------------------------------------------------

转载请记得说明作者和出处哦-.-
作者:KingDuDu
原文出处:https://www.cnblogs.com/kingdudu/articles/4745151.html

---------------------------------------------------------------------------------------------------------

【第二篇】.NET用NPOI读取Excel表格并在页面预览的更多相关文章

  1. 使用NPOI读取Excel表格内容并进行修改

    前言 网上使用NPOI读取Excel文件的例子现在也不少,本文就是参考网上大神们的例子进行修改以适应自己需求的. 参考博文 http://www.cnblogs.com/restran/p/38894 ...

  2. NPOI读取Excel表格类

    public class NPOIHelper    {        private HSSFWorkbook workbook;        public static IWorkbook Lo ...

  3. .NET Core 使用NPOI读取Excel返回泛型List集合

    我是一名 ASP.NET 程序员,专注于 B/S 项目开发.累计文章阅读量超过一千万,我的博客主页地址:https://www.itsvse.com/blog_xzz.html 网上有很多关于npoi ...

  4. C# 读取Excel表格内容,以及NPOI的使用

    在实际的开发中,我们可能需要读写word或者Excel的内容,在我开发的项目中,需要读取Excel的内容,并将相对应的内容存储到数据库中,这里简单跟大家分享一下,希望能够帮助一些人. 我相信在读写wo ...

  5. NPOI读取Excel遇到的坑

    NPOI是POI的.NET版本.POI是用Java写成的库,能帮助用户在没有安装Office环境下读取Office2003-2007文件.NPOI在.NET环境下使用,能读写Excel/Word文件. ...

  6. 使用NPOI读取Excel数据并写入SQLite

    首先,我们来建一个数据库,我们就叫Hello.db(不一定是db后缀,你可以sqlite,sqlite3,db3)都可以作为识别,然后往里面建一个空的表格,如下图所示 然后建一个Excel表格,往表格 ...

  7. NPOI读取Excel帮助类,支持xls与xlsx,实现公式解析,空行的处理

    NPOI读取Excel(2003或者2010)返回DataTable.支持公式解析,空行处理. /// <summary>读取excel /// 默认第一行为表头 /// </sum ...

  8. 读取Excel表格中数据原型

    写下这篇博客来记录自己的工作,这部分功能是读取Excel表格中的数据,并通过c#中的datagridview控件将读取的数据显示出来.为了方便用户,我设计了一个read按钮,用户点击这个按钮,会弹出打 ...

  9. 使用NPOI读取Excel数据到DataTable

    如今XML文件的存储格式大行其道,可是也不是适用于全部情况,非常多单位的数据交换还是使用Excel的形式.这就使得我们须要读取Excel内的数据.载入到程序中进行处理.可是如何有效率的读取,如何使程序 ...

随机推荐

  1. this的使用、继承、super

    1.this的使用 1)可以用于区分局部变量 Person(int age,string name) { this.age=age; this.name=name; } 2)构造方法中,用this调用 ...

  2. 如何在Windows7(IIS7)环境下安装 PHP

    一.安装IIS7 打开(1)[程序和功能],然后点击(2)[打开或关闭Windows功能] 勾选(1)[IIS管理控制台]和(2)CGI,然后点击[确定]按钮,等待安装完成.这个过程可能需要系统安装光 ...

  3. 修改DevExpress中英文提示,将英文改为中文

    1 : 修改DX 提示框中的英文字符 /// <summary> /// 重写DX弹出框 英文变为中文 /// </summary> public class CHS : De ...

  4. ExtJs布局之accordion,fit,auto

    <!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta http-equiv ...

  5. CF 50E. Square Equation Roots

    思路:这题的关键就是重复根只可能是整数. 这样先求出所有的根的数目,在减去重复的根. 代码如下: #include <iostream> #include <cstring> ...

  6. [转载] Linux下多路复用IO接口 epoll select poll 的区别

    原地址:http://bbs.linuxpk.com/thread-43628-1-1.html 废话不多说,一下是本人学习nginx 的时候总结的一些资料,比较乱,但看完后细细揣摩一下应该就弄明白区 ...

  7. 关于如何使用Navicat(11.1.13) for MySQL如何创建存储过程

    1.ƒ()函数(右键)→新建函数(左键)→过程(选择) 2.会遇到的问题 问题一:因为sql语句默认以;为结束符,所以应该修改结束符,但是这在Navicat(11.1.13) for MySQL中是不 ...

  8. libevent简单介绍

    http://blog.csdn.net/mafuli007/article/details/7476014 1      简介 主页:http://www.monkey.org/~provos/li ...

  9. updmap-sys failed. Output has been stored in

    Ubuntu 12.04升级到Ubuntu 12.04lts的时候,出现错误: Do you want to continue? [Y/n] ySetting up tex-common (4.04) ...

  10. 对话框上右下角显示resize icon(可以拖动改变对话框的大小)(在WM_CREATE的时候,增加WS_THICKFRAME风格)

    CStatusBar m_StatusBar;  // 成员变量 // 全局变量 static UINT auIDStatusBar[] = { ID_SEPARATOR }; //在对话框类的WM_ ...