转载:https://www.cnblogs.com/cang12138/p/5606130.html

上面的博友已经讲的很清楚了,但是我们在服务端是获取不到前端上传文件的绝对路径的(因为新浏览器有安全机制限制问题),也就是指定不了本地文件,所以我们一般把文件上传到服务器,再获取Excel里面的内容,这样我们可以防止导入出错时候方便查找,并且有一个备份,一般处理完后我们再选择是否把服务器的文件给删除掉

1.使用客户端控件实现上传(记住不是服务器控件)

上传代码如下,不懂可以参考https://www.cnblogs.com/cang12138/p/5606130.html

HTML代码如下(easyui的file控件好像不行,有兴趣的小伙伴可以尝试一下):

<div id="Execl">
<form id="form" action="../Handlers/AttendanceManagerHandler.ashx" method="post" enctype="multipart/form-data">
<input type="file" id="file1" name="file" onchange="fileOnchange()" />
<input id="selSheesName" name="selSheesName">
<a id="btnUpload" href="#" class="easyui-linkbutton" onclick="Upload()">导入</a>
</form>
</div>

jquery代码如下:

function fileOnchange() {
var formData = new FormData($('#form')[0]);
$.ajax({
type: 'post',
url: "../Handlers/AttendanceManagerHandler.ashx?funType=getsheetsname",
data: formData,
cache: false,
processData: false,//不处理数据
contentType: false,//不设置内容类型
dataType:"json",
}).success(function (response) {
//这个是easyui前端控件赋值方法
$('#selSheesName').combobox("loadData", response);
}).error(function () {
alert("下拉框获取失败!!!");
});
}
FormData解释参考这里https://developer.mozilla.org/zh-CN/docs/Web/API/FormData/Using_FormData_Objects
ajax的参数问题参考http://www.w3school.com.cn/jquery/ajax_ajax.asp 一般处理程序代码如下:
//获取前端传输过来的文件
HttpFileCollection files = HttpContext.Current.Request.Files;
//获取文件的访问权
HttpPostedFile posted = files[];
//获取服务器路径
string TempPath = System.IO.Path.GetTempPath();
//拼接成服务器的绝对路径
string filePath = TempPath + files[].FileName;
//上传文件到服务器
posted.SaveAs(filePath);

这里面关键是要获取文件控件的访问权问题,只有这样才能上传文件

至于后面的导入,参考https://www.cnblogs.com/cang12138/p/5606130.html

2.使用服务器控件完成Excel的导入

  (1)上传文件

  (2)创建连接   connStr = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0;HDR=Yes;\"",filePath);这个连接串,全部支持,不需要判断扩展名是.xls  .xlsx

  (3)读取excel里面的内容

3.把数据导入到excel中,一般是我们读取我们的数据集,并把读取的数据给服务器上excel文件,再用a标签的href指向服务器地址,让客户点击标签另存到本地(代码:https://www.cnblogs.com/cang12138/p/5606130.html)

第三方插件的导入导出,以后有需求再说吧  未完待续。。。

Excel处理的更多相关文章

  1. 【造轮子】打造一个简单的万能Excel读写工具

    大家工作或者平时是不是经常遇到要读写一些简单格式的Excel? shit!~很蛋疼,因为之前吹牛,就搞了个这东西,还算是挺实用,和大家分享下. 厌烦了每次搞简单类型的Excel读写?不怕~来,喜欢流式 ...

  2. excel 日期/数字格式不生效需要但双击才会生效的解决办法

    原因: Excel2007设置过单元格格式后,并不能立即生效必须挨个双击单元格,才能生效.数据行很多.效率太低. 原因:主要是一些从网上拷贝过来的日期或数字excel默认为文本格式或特殊-中文数字格式 ...

  3. C# Excel导入、导出【源码下载】

    本篇主要介绍C#的Excel导入.导出. 目录 1. 介绍:描述第三方类库NPOI以及Excel结构 2. Excel导入:介绍C#如何调用NPOI进行Excel导入,包含:流程图.NOPI以及C#代 ...

  4. Word/Excel 在线预览

    前言 近日项目中做到一个功能,需要上传附件后能够在线预览.之前也没做过这类似的,于是乎就查找了相关资料,.net实现Office文件预览大概有这几种方式: ① 使用Microsoft的Office组件 ...

  5. ASP.NET MVC5+EF6+EasyUI 后台管理系统(63)-Excel导入和导出-自定义表模导入

    系列目录 前言 上一节使用了LinqToExcel和CloseXML对Excel表进行导入和导出的简单操作,大家可以跳转到上一节查看: ASP.NET MVC5+EF6+EasyUI 后台管理系统(6 ...

  6. C#中如何给Excel添加水印

    我们知道Microsoft Excel并没有内置的功能直接给Excel表添加水印,但是其实我们可以用其他变通的方式来解决此问题,如通过添加页眉图片或艺术字的方法来模仿水印的外观.所以在这篇文章中,我将 ...

  7. C#中如何在Excel工作表创建混合型图表

    在进行图表分析的时候,我们可能需要在一张图表呈现两个或多个样式的图表,以便更加清晰.直观地查看不同的数据大小和变化趋势.在这篇文章中,我将分享C#中如何在一张图表中创建不同的图表类型,其中包括如何在同 ...

  8. 【C#附源码】数据库文档生成工具支持(Excel+Html)

    [2015] 很多时候,我们在生成数据库文档时,使用某些工具,可效果总不理想,不是内容不详细,就是表现效果一般般.很多还是word.html的.看着真是别扭.本人习惯用Excel,所以闲暇时,就简单的 ...

  9. 免费高效实用的.NET操作Excel组件NPOI(.NET组件介绍之六)

    很多的软件项目几乎都包含着对文档的操作,前面已经介绍过两款操作文档的组件,现在介绍一款文档操作的组件NPOI. NPOI可以生成没有安装在您的服务器上的Microsoft Office套件的Excel ...

  10. C#通过NPOI操作Excel

    参考页面: http://www.yuanjiaocheng.net/webapi/create-crud-api-1-post.html http://www.yuanjiaocheng.net/w ...

随机推荐

  1. MAS(转)

    1.为什么要使用微服务? 要说为什么要使用微服务,我们要先说下传统的企业架构模式-垂直架构/单块架构模式,简单点说:我们一般将系统分为三层架构,但是这是逻辑上的三层,而非物理上的三层,这就意味着经过编 ...

  2. Linux文件压缩、解压缩及归档工具一

    主题Linux文件压缩.解压缩及归档工具 压缩工具很重要的,因为要经常到互联网下载包 一compress/uncompress compress [-dfvcVr] [-b maxbits] [fil ...

  3. Vue 之指令篇

    文件指令 <body>    <div id="app">        <!-- 1) 插值表达式 -->        <p>{ ...

  4. SPOJ_QTREE系列题解

    QTREE4 #pragma comment(linker, "/STACK:102400000,102400000") //#include<bits/stdc++.h&g ...

  5. ylbtech-公司-滴滴出行:滴滴出行

    ylbtech-公司-滴滴出行:滴滴出行 滴滴出行是涵盖出租车. 专车.  滴滴快车.  顺风车. 代驾及 大巴等多项业务在内的一站式出行平台,2015年9月9日由“滴滴打车”更名而来. 2月1日起, ...

  6. Android 将drawable下的图片转换成bitmap、Drawable

    将drawable下的图片转换成bitmap . Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.xxx ...

  7. 安装graphviz

    环境win10 1. 下载安装包首先进入官网下载msi文件 安装,一路next,不需要注意什么 2.设置环境变量 安装完毕之后,我们需要手动配置环境变量. 找到刚才我们安装地址,进入graphviz, ...

  8. Opengl ES Glew库 ----- By YDD的铁皮锅

    前一篇随笔我写了Opengl的窗口创建,这一篇随笔我要写OpenGL glew库的使用.首先需要引入头文件h,库文件Lib和动态链接库DLL, 百度搜索OpenGL glew库找到这个纯英文网站,尽量 ...

  9. 转 jmeter 等待时间 pacing think time

    第一部分:Request之间的等待时间的设置 先明确一些概念:1)定时器是在每个sampler(采样器)之前执行的,而不是之后:是的,你没有看错,不管这个定时器的位置放在sampler之后,还是之下, ...

  10. leetcode.矩阵.378有序矩阵中第K小的元素-Java

    1. 具体题目 给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素.请注意,它是排序后的第k小元素,而不是第k个元素. 示例: matrix = [ [ 1,  5, ...