【MVC】 非常简单的页面导出 WORD, EXCEL方法
【MVC】 页面导出 WORD, EXCEL
前端 js
function output() {
var para = new Object();
para.html = getHtml("outputData");
para.type = "excel";
getAjaxText("/Test/SaveData", para, function (data) {
if (data != "") {
openWindow(stringFormat("/Test/Output?id={0}&type={1}&title={2}", data, para.type, "ceshi"));
}
});
}
后端 Action
public ActionResult Output(string id, string title, string type)
{
var path = GetFilePath(id, type);
if (!System.IO.File.Exists(path))
{
return Redirect("/Error/Index");
}
Response.ContentEncoding = Encoding.GetEncoding("gb2312");
var byteArray = System.IO.File.ReadAllBytes(path);
return File(byteArray, "application/ms-" + type, title + GetType(type));
} [ValidateInput(false)]
public ActionResult SaveData(string html, string type)
{
var sb = new StringBuilder();
sb.Append("<!DOCTYPE html>");
sb.Append("<body>");
sb.Append(html);
sb.Append("</body>");
var byteArray = Encoding.Default.GetBytes(sb.ToString());
var guid = Guid.NewGuid();
System.IO.File.WriteAllBytes(GetFilePath(guid.ToString(), type), byteArray);
return Content(guid.ToString());
} private static string GetType(string type)
{
if (type.ToLower().Trim() == "word")
{
return ".doc";
}
return ".xls";
}
MS Excel 导出
public class ExcelHelper
{
public static void ExportExcel(DataTable dt, bool noColumn = false)
{
if (dt == null || dt.Rows.Count == 0) return; var xlApp = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks; Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet); Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];
if (!noColumn)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
worksheet.Cells[1, i + 1] = dt.Columns[i].ColumnName;
var range = (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[1, i + 1];
range.Interior.ColorIndex = 15;
range.Font.Bold = true;
}
} for (int r = 0; r < dt.Rows.Count; r++)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
worksheet.Cells[r + 2, i + 1] = dt.Rows[r][i].ToString();
}
}
xlApp.Visible = true;
}
}
【MVC】 非常简单的页面导出 WORD, EXCEL方法的更多相关文章
- 导出word excel 方法
---导出excel public static void DataTableToExcelXjd(DataTable dt, string Title, string TmpColsName) { ...
- 记录集导出到Excel方法
记录集导出到Excel方法 Public Function ExportToExcel(RSrecord As ADODB.Recordset, Titles_Name)'============ ...
- 网页内容导出word/excel的js代码
IE设置: 工具-> Internet选项-> 安全->自定义级别-> 对没有标记安全级别的ActiveX控件进行初始化 设为启用! 1.导出word //指定区域导出到Wo ...
- MVC 将视图页table导出成excel
前台代码: <table class="tablelist" id="myTable"> <thead> <t ...
- Spring MVC 通过反射将数据导出到excel
直接上代码 // 导出excel方法 @RequestMapping("exportExcel") public void exportExcel(HttpServletReque ...
- 如何将html页面导出word格式?
近期做的项目也是奇葩,页面上需要导出excel,pdf,还有导出图片等...,刚把前几个怂好,还有下载成word文件,如何处理? function getOutword (id, fileName) ...
- html页面导出word文档
1.加入两个外部js 1)FileSaver.js /* FileSaver.js * A saveAs() FileSaver implementation. * 1.3.2 * 2016-06-1 ...
- web页面导出到Excel乱码解决
引言: 前几天 在做web项目的时候 需要导出页面上的数据 到Excel里面 但有的时候出现乱码(有de时候不出现 很奇怪) 原来的代码是这样的: HttpContext.Current.Respon ...
- html页面导出为excel表格
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
随机推荐
- VSCode用户设置
// 将设置放入此文件中以覆盖默认设置 { //-------- 搜索配置 -------- "search.exclude": { "**/node_modules&q ...
- GDB中文手册
用GDB调试程序GDB概述 2使用GDB 5GDB中运行UNIX的shell程序 8在GDB中运行程序 8调试已运行的程序 两种方法: 9暂停 / 恢复程序运行 9一.设置断点(BreakPoint) ...
- (转)神经网络和深度学习简史(第一部分):从感知机到BP算法
深度|神经网络和深度学习简史(第一部分):从感知机到BP算法 2016-01-23 机器之心 来自Andrey Kurenkov 作者:Andrey Kurenkov 机器之心编译出品 参与:chen ...
- netmon,messageanalyzer
Microsoft Message Analyzer Operating Guide https://technet.microsoft.com/en-us/library/jj649776.aspx ...
- Centos 6.5安装redis
1.下载 wget http://download.redis.io/releases/redis-2.8.13.tar.gz 2.解压 tar zxvf redis-2.8.13.tar.gz 3. ...
- python基础教程之抽象
很早知道python,但没有坚持学习.最近心血来潮,但能弥补这个遗憾. 对象几个重要概念: 多态:可以对不同类的对象使用同样的操作: 封装:对外部世界隐藏对象的工作细节: 继承:以普通的类为基础建立专 ...
- 10、java中的抽象类
当多个类中出现相同功能,但是功能主体不同,这是可以进行向上抽取.这时,只抽取功能定义,而不抽取功能主体. 抽象:看不懂. 抽象类的特点:1,抽象方法一定在抽象类中.2,抽象方法和抽象类都必须被abst ...
- error while loading shared libraries:错误的原因和解决方法
原因有两个: 1.操作系统没有改共享库 2.安装了该共享库,但是执行外部程序调用该共享库的时候,程序按照默认路径(/usr/lib./lib)找不到该共享库文件 解决方法: ubuntu系统的共享库一 ...
- 服务发现之 Etcd VS Consul
抄自这里 *********************************************************************************************** ...
- ASP.NET中进行消息处理(MSMQ) 三(转)
在本文的前两篇文章里对MSMQ的相关知识点进行了介绍,很多阅读过这前两篇文章的朋友都曾问到过这样一些问题: 1.如何把MSMQ应用到实际的项目中去呢? 2.可不可以介绍一个实际的应用实例? 3. ...