void SaveQuestionToExcel(List<Question> datas, string path)
{ using (Workbook workbook = new HSSFWorkbook())
{
var sheet = workbook.CreateSheet();
//表格头样式
CellStyle headerStyle = workbook.CreateCellStyle();
Font newFont = workbook.CreateFont(); newFont.Boldweight = short.MaxValue;
newFont.FontHeightInPoints = 12; headerStyle.SetFont(newFont);
headerStyle.Alignment = HorizontalAlignment.CENTER;
headerStyle.FillPattern = FillPatternType.NO_FILL; HSSFRow headerRow = (HSSFRow)sheet.CreateRow(0); headerRow.CreateCell(0).SetCellValue("题型");
headerRow.CreateCell(1).SetCellValue("试题内容");
headerRow.CreateCell(2).SetCellValue("试题答案");
headerRow.CreateCell(3).SetCellValue("难易度");
headerRow.CreateCell(4).SetCellValue("文件夹");
headerRow.CreateCell(5).SetCellValue("试题解析"); headerRow.Cells.ForEach(x => x.CellStyle = headerStyle); int rowIndex = 1;
foreach (var quesItem in datas)
{ HSSFRow row = (HSSFRow)sheet.CreateRow(rowIndex);
row.CreateCell(0).SetCellValue(quesItem.QuestionType);
row.CreateCell(1).SetCellValue(quesItem.ContentText);
row.CreateCell(2).SetCellValue(quesItem.AnswerText);
row.CreateCell(3).SetCellValue(((HardLevelEnum)quesItem.HardLevel).GetText());
row.CreateCell(4).SetCellValue(quesItem.FolderFullPath);
row.CreateCell(5).SetCellValue(quesItem.AnalysisText); rowIndex++;
} for (int i = 0; i < 6; i++)
{
sheet.AutoSizeColumn(i); }
FileStream streamFile = new FileStream(path, FileMode.Create);
MemoryStream streamMemory = new MemoryStream(); workbook.Write(streamMemory);
byte[] data = streamMemory.ToArray();
streamFile.Write(data, 0, data.Length); // 清空缓冲区、关闭流
streamFile.Flush();
streamFile.Close(); streamMemory.Close();
streamMemory.Dispose();
}
}

.net 生成Excel并保存的更多相关文章

  1. asp.net 生成 excel导出保存时, 解决迅雷下载aspx页面问题

    网络上搜索,一大堆废话,以下为简单的导出生成Excel代码: string excelFile = Server.MapPath("~/SB/UpFile/20151104111008/Bo ...

  2. JAVA POI 应用系列(1)--生成Excel

    POI简介(官网:http://poi.apache.org/)     Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office ...

  3. 在.NET中使用EPPlus生成Excel报表 .

    --摘抄自:http://blog.csdn.net/zhoufoxcn/article/details/14112473 在开发.NET应用中可能会遇到需要生成带图表(Chart)的Excel报表的 ...

  4. Java生成excel导出文件(使用poi+JXL)

    1.使用poi生成文件 package com.mi.entity; import java.util.Date; public class Student { private int id; pri ...

  5. 如何生成excel文件作为图像识别结果

    如何生成excel文件作为图像识别结果 在进行大规模图像处理的时候,如果能够以表格的形式生成结果文件,将非常的直观.这个时候,选择excel作为结果输出文件,将是合适的. 查询相关资料,有很多关于ex ...

  6. 使用Aspose.Cells组件生成Excel文件

    生成带表头的Excel文件,格式如下显示. 当然更复杂的一些也可以通过 合并单元格的方法 public void Merge(int firstRow, int firstColumn, int to ...

  7. 通过Workbook类 生成Excel导出数据

    需求: 实现错误信息生成Excel保存到本地让用户查看. 刚开始使用了微软自带的Microsoft.Office.Interop.Excel类库. Microsoft.Office.Interop.E ...

  8. .net生成Excel,并下载

    生成Excel的方式有很多种,这里记录两个最简单的: 1.将数据保存为html,然后输出到客户端,保存为Excel文件: 2.通过\t\n生成字符串,然后输出到客户端,保存为Excel. 以上两者的原 ...

  9. 使用POI生成Excel报表

    先把报表模板截图贴上来 下面是POI编写的报表生成类ExcelReport.java package com.jadyer.report; import java.io.FileNotFoundExc ...

  10. 实现excel导入导出功能,excel导入数据到页面中,页面数据导出生成excel文件

    今天接到项目中的一个功能,要实现excel的导入,导出功能.这个看起来思路比较清楚,但是做起了就遇到了不少问题. 不过核心的问题,大家也不会遇到了.每个项目前台页面,以及数据填充方式都不一样,不过大多 ...

随机推荐

  1. vs2019下 c++中 dll 的新建和引用步骤

    在工作目录下新建文件夹 DllImportTest  ,作为解决方案所在目录 新建项目动态链接库(DLL)项目 DllDemo 位置  指定到 上面新建文件夹 DllImportTest 所在的路径, ...

  2. call与apply的区别与共同点

    call与apply区别 共同点:都会立即执行函数 call:是以逗号为间隔,传递多个参数 apply:是以数组来进行传递多个参数

  3. Echarts河南地图下钻

    var parentJson = null; var parentInfo = [{ cityName: '河南', level: 'city', code: 410000, }, ]; getGeo ...

  4. Could not resolve dependency:peer swiper@“^5.2.0“ from vue-awesome-swiper@4.1.1

    在安装vue-awesome-swiper时报错: Could not resolve dependency:peer swiper@"^5.2.0" from vue-aweso ...

  5. BFS板子题

    #include <iostream> #include <string> #include <queue> using namespace std; int n, ...

  6. vue3 生成二维码 qrcodejs2-fix

    1.安装qrcodejs2-fix npm install qrcodejs2-fix 2.引入qrcodejs2-fix import QRCode from 'qrcodejs2-fix'; 3. ...

  7. HTTP相关知识学习

    五层网络模型 应用层 包括HTTP,FTP... HTTP支持客户/服务器模式 简单快速有getpost方法 灵活,可以传输任意类型 无连接,每次连接只处理一个请求,收到应答就关闭 无状态,对于事物处 ...

  8. HCIA-ICT实战基础08-访问控制列表ACL原理与配置

    HCIA-ICT实战基础-访问控制列表ACL原理与配置 目录 ACL技术概述 ACL的基本概念及其工作原理 ACL的基础配置及应用 ACL技术概述 技术背景: 需要一个工具实现流量过滤 ACL是由一系 ...

  9. JDK的安装及卸载

    JDK安装及卸载 卸载JDK 删除JAVA安装目录 删除java_home 删除path下关于Java的目录 java-version 查看是否仍能查看 安装JDK 百度搜索JDK8(性能稳定)找到下 ...

  10. python机器学习——BP(反向传播)神经网络算法

    背景与原理: BP神经网络通常指基于误差反向传播算法的多层神经网络,BP算法由信号的前向传播和反向传播两个过程组成,在前向传播的过程中,输入从输入层进入网络,经过隐含层逐层传递到达输出层输出,如果输出 ...