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. 排序算法 | JS

    1.冒泡排序 function bubbleSort(arr,order){ let len = arr.length-1,flag=true for(let i=0;(i<len)&& ...

  2. vue store用法

    import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) 首字母不能大写 export default new Vuex.Store({ ...

  3. C++ 11 std::mem_fn

    mem_fn 想到member function 成员函数 这还真就是用来调用成员函数的 普通的函数我们通过函数指针可以调用,但对于成员函数的调用稍微复杂一点,需要对象,也即this指针 因为成员函数 ...

  4. unity tex2Dlod in vert

    https://forum.unity.com/threads/how-to-sample-a-texture-in-vertex-shader.513816/   GreatWall said: ↑ ...

  5. Python学习笔记组织文件之将指定目录下的指定格式文件压缩到指定文件夹

    随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...

  6. display 属性区别

    行内元素 inline,行内块元素 inline-block,块级元素 block 的区别 (可通过 display 属性相互切换) (三个都会自动换行) padding 会挤压设置的宽高,实际宽高= ...

  7. JS学习-异步JS

    异步JS setTimeout() 我们希望传递给setTimeout()中运行的函数的任何参数,都必须作为列表末尾的附加参数传递给它. function sayHi(who) { alert('He ...

  8. Window下载并安装WinSCP客户端

    winSCP官方网站:https://winscp.net/eng/docs/lang:chs. 环境 操作系统:Window 10 企业版LTSC;内存:8GB;操作类型:64位. 步骤 1. 打开 ...

  9. JS中split、slice、splice区别

    splite 定义:该方法是切割字符串的一种方法,该方法主要用于把一个字符串分割成字符串数组并且返回新生成的数组.用于字符串对象   语法:str.split(separator,howmany) 返 ...

  10. Mocha and Stars

    Mocha and Stars 题意 给定 \(n,m\) ,问符合下定条件的数列有多少个: 对于\(a_i(1\le i\le n)\),\(a_i\in [l_i,r_i]\cap \mathbb ...