ExportGrid Aspose.Cells.dll
using Aspose.Cells;
using Aspose.Words;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace WebApplication16
{ public partial class WebForm1 : System.Web.UI.Page
{ public void ExportWord()
{
string filePath = Server.MapPath("~/Template.doc");
string filePath1 = Server.MapPath("~/Template1.doc");
//预先生成数据
List<Student> studentData = new List<Student>();
for (int i = ; i < ; i++)
{
studentData.Add(new Student()
{
name = "学生" + i.ToString("D3"),
schoolName = "某某中学",
num = i,
score = i
});
}
//加载word模板。
Aspose.Words.Document doc = null;
try
{
doc = new Aspose.Words.Document();
}
catch (Exception ex)
{ }
Aspose.Words.DocumentBuilder docWriter = new Aspose.Words.DocumentBuilder(doc);
docWriter.StartTable();
double[] colWidth = new double[] { , , , };
string[] colName = new string[] { "编号", "姓名", "分数", "学校" };
int pageSize = ;
for (int i = , j = studentData.Count; i < j; i++)
{
if (i == )
{ }
if (pageSize== )
{
//word页刚开始,一个表格的开始,要插入一个表头
docWriter.InsertBreak(Aspose.Words.BreakType.ParagraphBreak);
//docWriter.StartTable();
AsposeCreateCell(docWriter, colWidth[], colName[]);
AsposeCreateCell(docWriter, colWidth[], colName[]);
AsposeCreateCell(docWriter, colWidth[], colName[]);
AsposeCreateCell(docWriter, colWidth[], colName[]);
docWriter.EndRow();
//docWriter.EndTable();
}
//else if (pageSize == 30)//经过测算,每页word中可以放置30行
//{
// //结束第一个表格,插入分栏符号,并开始另一个表格
// docWriter.EndTable();
// docWriter.InsertBreak(Aspose.Words.BreakType.ColumnBreak);
// docWriter.InsertBreak(Aspose.Words.BreakType.ParagraphBreak);
// docWriter.StartTable();
// AsposeCreateCell(docWriter, colWidth[0], colName[0]);
// AsposeCreateCell(docWriter, colWidth[1], colName[1]);
// AsposeCreateCell(docWriter, colWidth[2], colName[2]);
// AsposeCreateCell(docWriter, colWidth[3], colName[3]);
// docWriter.EndRow();
//}
//else if (pageSize == 60)//word分栏为2栏,那么一页word可以放60行数据
//{
// //一页word完毕,关闭表格,并绘制下一页的表头。
// docWriter.EndTable();
// docWriter.InsertBreak(Aspose.Words.BreakType.PageBreak);
// docWriter.InsertBreak(Aspose.Words.BreakType.ParagraphBreak);
// docWriter.StartTable();
// AsposeCreateCell(docWriter, colWidth[0], colName[0]);
// AsposeCreateCell(docWriter, colWidth[1], colName[1]);
// AsposeCreateCell(docWriter, colWidth[2], colName[2]);
// AsposeCreateCell(docWriter, colWidth[3], colName[3]);
// docWriter.EndRow();
// pageSize = 0;
//}
pageSize++;
//创建内容
AsposeCreateCell(docWriter, colWidth[], studentData[i].num.ToString());
AsposeCreateCell(docWriter, colWidth[], studentData[i].name);
AsposeCreateCell(docWriter, colWidth[], studentData[i].score.ToString());
AsposeCreateCell(docWriter, colWidth[], studentData[i].schoolName+"_"+i);
docWriter.EndRow();
}//end for
docWriter.EndTable();
//保存文件
doc.Save(filePath1, Aspose.Words.SaveFormat.Doc); }
public void AsposeCreateCell(Aspose.Words.DocumentBuilder builder, double width, string text)
{ builder.InsertCell();
builder.CellFormat.Borders.LineStyle = Aspose.Words.LineStyle.Single;
builder.CellFormat.Borders.Color = System.Drawing.Color.Black;
builder.CellFormat.Width = width;//单元格的宽度
builder.CellFormat.LeftPadding = ;//单元格的左内边距
builder.CellFormat.RightPadding = ;//单元格的右内边距
builder.RowFormat.Height = ;//行高
builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = Aspose.Words.ParagraphAlignment.Center;//水平居中对齐
builder.Write(text);
}
protected virtual void ExportGrid(string[] Columns, string title, System.Data.DataTable table, ArrayList ignorColList, bool showHeader)
{ Workbook workbook = new Workbook(); //工作簿
Worksheet sheet = workbook.Worksheets[]; //工作表
sheet.AutoFitColumns();
Cells cells = sheet.Cells;//单元格
Aspose.Cells.Style styleTitle = workbook.Styles[workbook.Styles.Add()];//新增样式
styleTitle.HorizontalAlignment = TextAlignmentType.Center;//文字居中
styleTitle.Font.Name = "宋体";//文字字体
styleTitle.Font.Size = ;//文字大小
styleTitle.Font.IsBold = false;//粗体
//样式2
Aspose.Cells.Style style2 = workbook.Styles[workbook.Styles.Add()];//新增样式
style2.HorizontalAlignment = TextAlignmentType.Center;//文字居中
style2.Font.Name = "宋体";//文字字体
style2.Font.Size = ;//文字大小
style2.Font.IsBold = false;//粗体
style2.IsTextWrapped = true;//单元格内容自动换行
style2.Borders[Aspose.Cells.BorderType.LeftBorder].LineStyle = CellBorderType.Thin;
style2.Borders[Aspose.Cells.BorderType.RightBorder].LineStyle = CellBorderType.Thin;
style2.Borders[Aspose.Cells.BorderType.TopBorder].LineStyle = CellBorderType.Thin;
style2.Borders[Aspose.Cells.BorderType.BottomBorder].LineStyle = CellBorderType.Thin;
Aspose.Cells.Style style3 = workbook.Styles[workbook.Styles.Add()];//新增样式
style3.HorizontalAlignment = TextAlignmentType.Center;//文字居中
style3.Font.Name = "宋体";//文字字体
style3.Font.Size = ;//文字大小
style3.Borders[Aspose.Cells.BorderType.LeftBorder].LineStyle = CellBorderType.Thin;
style3.Borders[Aspose.Cells.BorderType.RightBorder].LineStyle = CellBorderType.Thin;
style3.Borders[Aspose.Cells.BorderType.TopBorder].LineStyle = CellBorderType.Thin;
style3.Borders[Aspose.Cells.BorderType.BottomBorder].LineStyle = CellBorderType.Thin;
if (!string.IsNullOrEmpty(title))
{
int i = Columns.Length;
if (ignorColList != null)
{
i = i - ignorColList.Count;
}
cells.Merge(, , , i);//合并单元格
cells[, ].PutValue(title);//填写内容
cells[, ].SetStyle(styleTitle);
}
int start = string.IsNullOrEmpty(title) ? : ;
int j = ;
if (showHeader)
{
for (var i = ; i < Columns.Length; i++)
{
var c = Columns[i];
if (ignorColList != null && ignorColList.Contains(c))
{
continue;
}
cells[start, j].PutValue(c);
cells[start, j].SetStyle(style2);
j++;
}
}
for (var q = ; q < table.Rows.Count; q++)
{
j = ;
var row = table.Rows[q];
for (var i = ; i < Columns.Length; i++)
{
var c = Columns[i];
if (ignorColList != null && ignorColList.Contains(c))
{
continue;
}
cells[start + + q, j].PutValue(row[c]);
cells[start + + q, j].SetStyle(style3);
cells.SetRowHeight(start + + q, );
j++;
}
} workbook.Save(string.Format("report.xls"), Aspose.Cells.SaveType.OpenInExcel, Aspose.Cells.FileFormatType.Excel2003, Response);
Response.Flush();
Response.End();
}
protected void Page_Load(object sender, EventArgs e)
{
System.Data.DataTable table = new System.Data.DataTable();
table.Columns.Add("id2", typeof(string));
table.Columns.Add("name2", typeof(string)); for (int i = ; i < ; i++)
{
System.Data.DataRow dr = table.NewRow();
dr["id2"] = "id2_" + i;
dr["name2"] = "name2_" + i;
table.Rows.Add(dr);
} string[] columns = { "id2", "name2" }; ExportWord();
//ExportGrid(columns, "柯相彬表格",table,null, true);
Response.Write("ni mei de");
}
}
}
ExportGrid Aspose.Cells.dll的更多相关文章
- C# WinForm 导出导入Excel/Doc 完整实例教程[使用Aspose.Cells.dll]
[csharp] view plain copy 1.添加引用: Aspose.Cells.dll(我们就叫工具包吧,可以从网上下载.关于它的操作我在“Aspose.Cells操作说明 中文版 下载 ...
- C# WinForm使用Aspose.Cells.dll 导出导入Excel/Doc 完整实例教程
1.添加引用: Aspose.Cells.dll(我们就叫工具包吧,可以从网上下载.关于它的操作我在“Aspose.Cells操作说明 中文版 下载 Aspose C# 导出Excel 实例”一文中的 ...
- Aspose.Cells.dll引用导入导出Excel
Aspose.Cells 导入导出EXCEL 文章出处:http://hi.baidu.com/leilongbing/item/c11467e1819e5417595dd8c1 修改样式 ...
- Aspose.Cells.dll操作execl
附件:Aspose.Cells.dll 1.创建execl(不需要服务器或者客户端安装office) public void DCExexl(DataTable dt) { Workbook wb ...
- C# Aspose.Cells.dll Excel操作总结
简介 Aspose.Cells是一款功能强大的 Excel 文档处理和转换控件,不依赖 Microsoft Excel 环境,支持所有 Excel 格式类型的操作. 下载 Aspose.Cells.d ...
- C# 读写Excel的一些方法,Aspose.Cells.dll
需求:现有2个Excel,一个7000,一个20W,7000在20W是完全存在的.现要分离20W的,拆分成19W3和7000. 条件:两个Excel都有“登录名”,然后用“登录名”去关联2个Excel ...
- C# 利用Aspose.Cells .dll将本地excel文档转化成pdf(完美破解版 无水印 无中文乱码)
Aspose.Cells .dll下载 http://pan.baidu.com/s/1slRENLF并引用 C#代码 using System; using System.Collections. ...
- Aspose.Cells.dll的用法
public void OutExcel() { #region WorkbookDesigner designer = new WorkbookDesigner(); Worksheet sheet ...
- Aspose Cells dll 实现数据简单下载
Workbook workbook = new Workbook(); //工作簿 Worksheet sheet = workbook.Worksheets[ ...
随机推荐
- 第五篇:jmeter图形监控扩展
插件下载:http://jmeter-plugins.org/downloads/all/ 插件: 1.首先将jmeterPluging.jar包复制到jmeter的lib目录下面的ext目录下面,然 ...
- 安装好kali要做的事
更换更新源 vim /etc/apt/sources.list #中科大deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free c ...
- php打印错误报告
//error handler functionfunction customError($errno, $errstr){ echo "<b>Error:</b> ...
- 简单的linux命令
1.cd命令: 这是一个最基本的命令,用于切换当前目录,可以是绝对路径,也可以是相对路径例: cd /root/doc #切换到目录/root/doc cd ./path 切换到当前目录下的pat ...
- jsp页面之初体验
最近在学jsp 在web.xml页面中学到了如何让一个页面第一个启动
- Delphi: TMemo垂直滚动条自动显示
项目中碰到此问题,之前一直没留意,研究一番用上,以做备忘.参考其它解决方法,不尽完美,自试之,达到效果. 直上代码: type TMemo = class(StdCtrls.TMemo) protec ...
- java中关于null的一些理解
1.null是Java中的关键字,像public.static.final.它是大小写敏感的,你不能将null写成Null或NULL,编译器将不能识别它们然后报错. 2.null是任何引用类型的默认值 ...
- mysql之 安装(Mac)
1.官网下载安装包:https://dev.mysql.com/downloads/mysql/ 2.设置环境变量:(1)首先mysql的安装位置为:/usr/local/mysql/bin (2)在 ...
- EasyUI Dialog 对话框默认不弹出和关闭清空对话框内容
EasyUI中文网: http://www.jeasyui.net/plugins/181.html 默认不弹出:closed:true 模式化窗口(有遮罩):modal:true <div c ...
- Django创建模型,迁移数据
1.在models.py文件中添加代码 class notice(models.Model): notice_title = models.CharField(max_length=255) noti ...