AsposeCell特定格式表格
效果图:
Workbook workbook = new Workbook();
Worksheet sheet = (Worksheet)workbook.Worksheets[0];
Cells cells = sheet.Cells;
cells.SetColumnWidth(8, 15);
cells.SetColumnWidth(3, 16);
cells.SetColumnWidth(0, 17);
List<string> institutionList = (from DataRow q in dt.Rows
select q["institutionId"].ToString()).ToList().Distinct().ToList();
int y = 0;
List<Institution> insList = new List<Institution>();
if (institutionList.Count > 0)
{
insList = (from q in Institution.CreateContext()
where institutionList.Contains(q.Id)
select q).ToList();
}
foreach (string institution in institutionList)
{
Institution ins = (from q in insList
where q.Id == institution
select q).FirstOrDefault();
DataRow[] drs = (from DataRow q in dt.Rows
where q["institutionId"].ToString() == institution
select q).ToArray();
List<string> userIds = new List<string>();
foreach (var dr in drs)
{
userIds.Add(dr["userId"].ToString());
}
userIds = (from q in userIds select q).ToList().Distinct().ToList();
foreach (var userId in userIds)
{
DataRow[] drstu = (from DataRow q in dt.Rows
where q["institutionId"].ToString() == institution && q["userId"].ToString() == userId
select q).ToArray();
Aspose.Cells.Style style = workbook.Styles[workbook.Styles.Add()];//新增样式
//标题
style.HorizontalAlignment = TextAlignmentType.Center;//文字居中
style.Font.Name = "宋体";//文字字体
style.Font.Size = 14;//文字大小
style.Font.IsBold = true;//粗体
cells.Merge(y, 0, 1, 10); //合并单元格
cells[y, 0].PutValue(string.Format("{0}{1}考试通知单", drstu[0]["examName"].ToString(), drstu[0]["institutionName"].ToString())); //填写内容
cells[y, 0].SetStyle(style); //给单元格关联样式
cells.SetRowHeight(y, 28); //设置行高
style.HorizontalAlignment = TextAlignmentType.Left;//文字居左
style.Font.Size = 10;
style.Font.IsBold = false;
cells.Merge(y + 1, 0, 1, 4);
cells.Merge(y + 1, 4, 1, 6);
cells[y + 1, 0].PutValue("班级:");
cells[y + 1, 4].PutValue(string.Format("{0}{1}", drstu[0]["courseName"].ToString(), drstu[0]["courseCode"].ToString()));
cells[y + 1, 0].SetStyle(style);
cells.SetRowHeight(y + 1, 14);
string[] titles = new string[] { "学号", "姓名", "试卷号", "考试科目", "考核形式", "考场号", "座位号", "考试日期", "考试时间", "留考" };
style.HorizontalAlignment = TextAlignmentType.Center;//文字居中
for (int i = 0; i < 10; i++)
{
cells[y + 2, i].PutValue(titles[i]);
cells[y + 2, i].SetStyle(style);//调整样式
}
style.HorizontalAlignment = TextAlignmentType.Center;//文字居中
for (int j = 0; j < drstu.Length; j++)//行
{
cells[y + 3 + j, 0].PutValue(drstu[j]["code"].ToString());
cells[y + 3 + j, 1].PutValue(drstu[j]["displayName"].ToString());
cells[y + 3 + j, 2].PutValue(string.IsNullOrEmpty(drstu[j]["paperano"].ToString()) ? "---" : drstu[j]["paperano"].ToString());
cells[y + 3 + j, 3].PutValue(drstu[j]["courseName"].ToString());
cells[y + 3 + j, 4].PutValue(drstu[j]["IsOpenBook"].ToInt() == 1 ? "开卷" : "闭卷");
cells[y + 3 + j, 5].PutValue(drstu[j]["placeNumber"].ToString());
cells[y + 3 + j, 6].PutValue(drstu[j]["seatNumber"].ToString());
cells[y + 3 + j, 7].PutValue(drstu[j]["startTime"].ToDateTime().ToShortDateString().ToString());
cells[y + 3 + j, 8].PutValue(string.Format("{0} - {1}", drstu[j]["startTime"].ToDateTime().ToShortTimeString().ToString(), drstu[j]["endTime"].ToDateTime().ToShortTimeString().ToString()));
cells[y + 3 + j, 9].PutValue(drstu[j]["isstay"].ToInt() == 1 ? "是" : "否");
}
cells[y + 3 + drstu.Length, 0].PutValue("考点名称:");
cells.Merge(y + 3 + drstu.Length, 1, 1, 3);
cells[y + 3 + drstu.Length, 1].PutValue(ins.Name);
cells[y + 3 + drstu.Length, 4].PutValue("考点地址:");
cells.Merge(y + 3 + drstu.Length, 5, 1, 5);
cells[y + 3 + drstu.Length, 5].PutValue(ins.Address);
y = y + 5 + drstu.Length;
}
}
AsposeCell特定格式表格的更多相关文章
- 利用XSD配合XSLT產出特定格式Word檔案 -摘自网络
利用類別產生XSD檔 產出XSD檔的目的在於提供Word樣板設計之資料框架 在此使用微軟提供之XML Schema Definition Tool (Xsd.exe)工具產生XSD檔 1. 定義類別 ...
- 第四十二节,configparser特定格式的ini配置文件模块
configparser用于处理特定格式的文件,其本质上是利用open来操作文件. 特定格式的ini配置文件模块,用于处理ini配置文件,注意:这个ini配置文件,只是ini文件名称的文本文件,不是后 ...
- linux中date命令显示昨天的日期信息?以特定格式显示时间?
需求描述: linux环境中,在使用date命令的时候,可以通过-d指定日期的字符串来显示日期 操作过程: 1.通过date显示昨天的日期 [root@redhat6 ~]# date -d 'yes ...
- 读取txt文件将文本行组合成特定格式
有一网友要求从txt文本文件读取一些数据,然后组合为特定格式的数据行.原论题如下,刚才开始的要求描述得不太清楚,后来补充完整了. Insus.NET觉得本论题可有练习文本件读取功力,因此尝试实现一下. ...
- 十七 bootstrap-table tableExport 导出xlsx格式表格
原文:十七 bootstrap-table tableExport 导出xlsx格式表格 在[十六.bootstrap-table javascript导出数据]中,打开导出的表格时,总会弹出一个提示 ...
- C#关于时间(获取特定格式的时间及多种方式获取当前时间戳)以及10位和13位时间戳转为特定格式
C#关于时间(获取特定格式的时间及多种方式获取当前时间戳)以及10位和13位时间戳转为特定格式 置顶 2018年03月06日 19:16:51 黎筱曦 阅读数:19098 标签: C#时间 更多 个人 ...
- PhpSpreadsheet 导出特定格式 — 广告请款单
需求说明 最近需要实现一个导出这种格式的Excel表单,之前都有用过导出Excel的功能,但大都是表头+数据的形式,只用于获取数据,没有太多样式要求,不用合并单元格.合并居中等,也不用对每一行数据特异 ...
- sublime text 3 文件列表忽略特定格式的文件
Preferences->Settings ,编辑相关代码,注意JSON格式: 排除特定目录,使用:"folder_exclude_patterns" 排除特定文件,使用:& ...
- 手写OOXML文档——导出xlsx格式表格文档
一.准备工作: 2个js库,另外把样式文件抽离出来 require('file-saver'); import JSZip from 'jszip' import {stylesData,theme1 ...
随机推荐
- Hibernate第四篇【集合映射、一对多和多对一】
前言 前面的我们使用的是一个表的操作,但我们实际的开发中不可能只使用一个表的-因此,本博文主要讲解关联映射 集合映射 需求分析:当用户购买商品,用户可能有多个地址. 数据库表 我们一般如下图一样设计数 ...
- Linux 下安装maven
1.首先到Maven官网下载安装文件,目前最新版本为3.0.3,下载文件为apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令:2.进入下载文件夹,找到下载的文件,运行 ...
- MyEclipse/Eclipse 使用图文详解
引言 某天在群里看到有小伙伴问MyEclipse/Eclipse的一些使用问题,虽然在我看来,问的问题很简单,但是如果对于刚刚学习的人来说,可能使用就不那么友好了.毕竟我在开始使用MyEclipse/ ...
- xml跟sql查找
xml小白笔记 ....... <sql id="wDishesColumns"> a.id AS "id", a.pid AS "pid ...
- 个人从源码理解angular项目在JIT模式下的启动过程
通常一个angular项目会有一个个模块(Module)来管理各自的业务,并且必须有一个根模块(AppModule)作为应用的入口模块,整个应用都围绕AppModule展开.可以这么说,AppModu ...
- oracle pctfree和pctused 详解
一.建立表时候,注意PCTFREE参数的作用 PCTFREE:为一个块保留的空间百分比,表示数据块在什么情况下可以被insert,默认是10,表示当数据块的可用空间低于10%后,就不可以被insert ...
- .Net 内存对象分析
在生产环境中,通过运行日志我们会发现一些异常问题,此时,我们不能直接拿VS远程到服务器上调试,同时日志输出的信息无法百分百反映内存中对象的状态,比如说我们想查看进程中所有的Socket连接状态.服务路 ...
- Python协程爬取妹子图(内有福利,你懂得~)
项目说明: 1.项目介绍 本项目使用Python提供的协程+scrapy中的选择器的使用(相当好用)实现爬取妹子图的(福利图)图片,这个学会了,某榴什么的.pow(2, 10)是吧! 2.用到的知 ...
- python GUI实战项目——tkinter库的简单实例
一.项目说明: 本次通过实现一个小的功能模块对Python GUI进行实践学习.项目来源于软件制造工程的作业.记录在这里以复习下思路和总结编码过程.所有的源代码和文件放在这里: 链接: https:/ ...
- SQL Server Compact/SQLite Toolbox 使用
最近一个嵌入式的数据库用的SqlCe 需要导入到Sqlite, 网上查到了这个工具--SQL Server Compact/SQLite Toolbox.但是在使用的时候遇到了一点小曲折,记录下来给需 ...