博主用的是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. 高达渐出现效果Shader

    原地址: http://liweizhaolili.blog.163.com/blog/static/1623074420140591864/ 最近在玩游戏<高达破坏者>,里面的高达出现的 ...

  2. mysql存储过程和事件

    1.会员表member和车辆表car,更新每个会员下面的车辆数量have_car字段. DELIMITER $$ USE $$ DROP PROCEDURE IF EXISTS `sp_update_ ...

  3. 用ScriptEngine在java中和javascript交互的例子(JDK6新特性)

    package demo7; import java.util.Arrays; import java.util.List; import javax.script.Invocable; import ...

  4. SQL Server 基础 之 GROUP BY子句

    GROUP BY 子句用于聚合信息 先看个实例,没有使用 GROUP BY 子句 SELECT SalesOrderID,OrderQty FROM Sales.SalesOrderDetail WH ...

  5. asp.net中Literal与label的区别

    Literal 控件表示用于向页面添加内容的几个选项之一.对于静态内容,无需使用容器,可以将标记作为 HTML 直接添加到页面中.但是,如果要动态添加内容,则必须将内容添加到容器中.典型的容器有 La ...

  6. HDFS2.x之RPC流程分析

    HDFS2.x之RPC流程分析 1 概述 Hadoop提供了一个统一的RPC机制来处理client-namenode, namenode-dataname,client-dataname之间的通信.R ...

  7. lintcode:线段树的查询

    线段树的查询 对于一个有n个数的整数数组,在对应的线段树中, 根节点所代表的区间为0-n-1, 每个节点有一个额外的属性max,值为该节点所代表的数组区间start到end内的最大值. 为Segmen ...

  8. mq_getattr

    NAME mq_getattr - 获取消息队列的属性(REALTIME) SYNOPSIS #include <mqueue.h> int mq_getattr(mqd_t mqdes, ...

  9. swift:创建滚动视图的图片轮播器

    用swift创建图片轮播器和用OC创建的方式是一样的,都主要用到UIScrollView和UIImageview这两个控件,有几张图片,就将滚动视图的内容区域大小设置为每一张图片的大小乘以张数即可.然 ...

  10. ehcache 缓存技术

    一 ehcache API: 1: Using the CacheManager 1.1所有ehcache的使用, 都是从 CacheManager. 开始的.有多种方法创建CacheManager实 ...