public XSSFWorkbook Excel_Export(DataTable query,string title,int[] rowweight,string[] rowtitle)
{ XSSFWorkbook workbook = new XSSFWorkbook();
ISheet sheet = workbook.CreateSheet("Sheet1");
IRow row = sheet.CreateRow();
int ii = ; ICellStyle style = workbook.CreateCellStyle();
style.Alignment = HorizontalAlignment.Center;
style.WrapText = true;
style.BorderLeft = BorderStyle.Thin;
style.BorderRight = BorderStyle.Thin;
style.BorderTop = BorderStyle.Thin;
style.BorderBottom = BorderStyle.Thin;
style.VerticalAlignment = VerticalAlignment.Center; //设置背景颜色...
style.FillForegroundColor = ;
style.FillPattern = FillPattern.SolidForeground;
((XSSFColor)style.FillForegroundColorColor).SetRgb(new byte[] { , , }); IFont font = workbook.CreateFont();
font.FontHeightInPoints = ;
font.FontName = "微软雅黑";
font.IsBold = true;
style.SetFont(font); ICell cell = row.CreateCell(ii); if(!string.IsNullOrEmpty(title))
{
row.Height = * ;
cell.SetCellValue(title);
cell.CellStyle = style;
sheet.AddMergedRegion(new CellRangeAddress(, , , query.Columns.Count-));
ii += ;
} style = workbook.CreateCellStyle();
style.Alignment = HorizontalAlignment.Left;
style.WrapText = true; style.VerticalAlignment = VerticalAlignment.Center;
style.BorderLeft = BorderStyle.Thin;
style.BorderRight = BorderStyle.Thin;
style.BorderTop = BorderStyle.Thin;
style.BorderBottom = BorderStyle.Thin; //设置背景颜色...
style.FillForegroundColor = ;
style.FillPattern = FillPattern.SolidForeground;
((XSSFColor)style.FillForegroundColorColor).SetRgb(new byte[] { , , }); font = workbook.CreateFont();
font.FontHeightInPoints = ;
font.FontName = "微软雅黑";
style.SetFont(font); IRow row1 = sheet.CreateRow(ii);
row1.Height = * ; int i = ;
if(rowtitle.Length>)
foreach (var item in rowtitle)
{
cell = row1.CreateCell(i);
cell.SetCellValue(item.ToString());
cell.CellStyle = style;
i += ;
}
else
foreach (var item in query.Columns)
{
cell = row1.CreateCell(i);
cell.SetCellValue(item.ToString());
cell.CellStyle = style;
i += ;
} for ( i = ; i < rowweight.Length; i++)
{
if (rowweight[i] > )
{
row1.Cells[i].CellStyle = style; //把样式赋给单元格
sheet.SetColumnWidth(i, rowweight[i] * );//设置列宽
}
}
i = ;
row.Height = * ;
style = workbook.CreateCellStyle();
style.WrapText = true;
style.Alignment = HorizontalAlignment.Left;
style.VerticalAlignment = VerticalAlignment.Center;
style.BorderLeft = BorderStyle.Thin;
style.BorderRight = BorderStyle.Thin;
style.BorderTop = BorderStyle.Thin;
style.BorderBottom = BorderStyle.Thin;
font = workbook.CreateFont();
font.FontHeightInPoints = ;
font.FontName = "微软雅黑";
style.SetFont(font);
for (int n = ; n < query.Rows.Count; n++)
{
ii += ;
IRow rowtemp = sheet.CreateRow(ii);
for (int j = ; j < query.Columns.Count; j++)
{
cell = rowtemp.CreateCell(j);
cell.CellStyle = style;
cell.SetCellValue(query.Rows[n][j]?.ToString() ?? ""); }
}
return workbook;
}
        int[] weight = new int[] { ,,,};
XSSFWorkbook workbook = Excel_Export(query, "", weight, new string[]); ISheet sheet = workbook.GetSheet("Sheet1"); string fileName = string.Concat(string.Format("{0:yyyyMMddHHmmssffff}", DateTime.Now), ".xlsx");
Response.Clear();
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("Content-Disposition", fileName); //写入到客户端
System.IO.MemoryStream ms = new System.IO.MemoryStream();
workbook.Write(ms);
Response.BinaryWrite(ms.ToArray()); Response.Flush();
Response.End();

c# excel xlsx 保存的更多相关文章

  1. Excel导入保存附件和解析数据

    Excel导入保存附件和解析数据 一,前端上传附件的组件 1.先给一个下载模板的按钮 // 下载Excel模板 downLoadExcel: function () { window.open(GLO ...

  2. ASP.NET Core 导入导出Excel xlsx 文件

    ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Li ...

  3. 将Excel表格保存为图片

    如何将Excel表格保存为图片,可参见以下几种方法: 1.借助其它办法软件,例如Word或PPT. 步骤:选中Excel中需要被保存成图片的内容,Ctrl+C进行复制,打开Word或PPT办公软件,鼠 ...

  4. excel 永久保存宏命令

      excel 永久保存宏命令 CreateTime--2018年5月31日10:03:44 Author:Marydon 情形一:下次编辑excel时,仍可使用 Ctrl+s-->选择否,选择 ...

  5. 在浏览器上打开、预览Excel xlsx表格文件

    现在的HTML5,有了FileReader文件读写API, 真是让javascript的能力大幅提升. 解析zip压缩文件.解析Excel xlsx 表格文档各种文件预览,实现起来也有了可能性,以前的 ...

  6. Java 导出Excel xlsx、xls, CSV文件

    通用导出功能: 1.支持Excel xlsx.xls 2.支持CSV文件导出 3.数据库查询分页导出.内存导出 4.支持大批量数据导出 使用步骤如下 导入jar <dependency> ...

  7. POI读取Excel数据保存到数据库,并反馈给用户处理信息(导入带模板的数据)

    今天遇到这么一个需求,将课程信息以Excel的形式导入数据库,并且课程编号再数据库中不能重复,也就是我们需要先读取Excel提取信息之后保存到数据库,并将处理的信息反馈给用户.于是想到了POI读取文件 ...

  8. 生成Excel.xlsx文件 iOS

    使用到的三方库 https://github.com/jmcnamara/libxlsxwriter cocoapods导入 pod 'libxlsxwriter', '~> 0.8.3' 1. ...

  9. Java导入excel并保存到数据库

    首先建立好excel表格,并对应excel表格创建数据库表. 前台jsp页面:其中包含js <%@ page language="java" import="jav ...

随机推荐

  1. AVR 嵌入式单片机芯片的中断系统介绍

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  2. C# foreach 值类型及引用类型迭代变量改变的方式

    C#中foreach不能改变迭代变量的值 然而此种说法只适用与值类型,更改值类型时会改变在栈上的内存分布 引用类型由于是引用地址的变更,不影响内存分布,所以能够在foreach中更改 至于引用类型中的 ...

  3. 泛型的上下边界 : ? extends E 与 ? super T

    public class Problem { public static void main(String[] args) { List<? extends A> list; List&l ...

  4. jmeter如何进行MQTT性能测试(测试前期准备一,性能测试需求)

    接到一个有关MQTT的性能测试任务,把查找资料到解决问题的过程都记录.分享下 首先先科普下性能测试中相关术语的解释及 说到性能测试.负载测试.压力测试.并发测试,很多人都是混合使用,或者一会叫压力测试 ...

  5. Android四大组件之Service --- 活动与服务的绑定

    Acticity与Service进行通信如何在活动中指挥service去做事情? 这里就借助onBind()方法了比如说,目前我们希望在MyService里提供一个下载功能,然后在活动中可以决定何时开 ...

  6. 阶段02JavaWeb基础day02&03JavaScript

    javascript知识体系 ECMAScript javascript与html结合方式 内部: <script type="text/javaScript">*** ...

  7. MyBatis-day2

    Properties 属性: 如果属性在不只一个地方进行了配置,那么 MyBatis 将按照下面的顺序来加载: 在 properties 元素体内指定的属性首先被读取. 然后根据 properties ...

  8. DevExpress ASP.NET Core Controls 2019发展蓝图(No.1)

    本文主要为大家介绍DevExpress ASP.NET Core Controls2019年的官方发展蓝图,更多精彩内容欢迎持续收藏关注哦~ [DevExpress ASP.NET Controls ...

  9. nc/netcat命令

    nc/netcat命令 语法 nc/netcat(选项)(参数) 选项 -g<网关>:设置路由器跃程通信网关,最多设置8个: -G<指向器数目>:设置来源路由指向器,其数值为4 ...

  10. React 组件框架