使用aspose.word 第三方的插件实现导出word

   本文给大家分享的是一个使用使用aspose.word 第三方的插件实现导出word的实例,十分的实用,有需要的小伙伴可以参考下。

  使用aspose.word 第三方的插件实现服务器端无需安装office组件导出word的功能

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108

#region 生成的excel文件命名和确保文件的唯一性
Random rd = new Random();
DateTime dtime = DateTime.Now;
string Filename = "培训需求表" + dtime.Year.ToString() + dtime.Month.ToString() + dtime.Day.ToString() + dtime.Hour.ToString() + dtime.Minute.ToString() + dtime.Second.ToString() + Convert.ToString(rd.Next(99) * 97 + 100) + ".doc";
#endregion
 
#region 定义变量
//建立Document物件,调用模块对word字体和table格式设置
string serverpath = Constants.GetAppSettingValue("LocalLogicPath") + Constants.GetAppSettingValue("LocalTemplate") + "px_xqjh_tx.doc";
Document doc = new Document(serverpath);
//建立DocumentBuilder物件
DocumentBuilder builder = new DocumentBuilder(doc);
#endregion
 
#region 页面设置,设置页面为横向布局,设置纸张类型为A4纸或通过页面的宽度设置
//设置纸张布局
builder.PageSetup.PaperSize = PaperSize.A4;
//builder.PageSetup.Orientation = Aspose.Words.Orientation.Landscape;
#endregion
 
#region 设置word全局的字体样式和字体大小
builder.RowFormat.Borders.LineStyle = LineStyle.Thick;
builder.RowFormat.HeightRule = HeightRule.Auto;
builder.RowFormat.Alignment = RowAlignment.Center;
//builder.Font.Name = "仿宋-GB2312";
 
builder.Font.Name = "宋体";
builder.Font.Size = 10.5; //五号
#endregion
 
List<double> widthList = new List<double>();
double remarkWidth = 0;
for (int k = 0; k < 18; k++)
{
builder.MoveToCell(0, 1, k, 0); //移动单元格
double width = builder.CellFormat.Width;//获取单元格宽度
widthList.Add(width);
remarkWidth += width;
 
//Universal.ExceptionLog(k.ToString(), width.ToString());
}
 
DataTable dtable = GetQuestionList();
if (dtable != null && dtable.Rows.Count > 0)
{
#region 绘制表格以及设置--------- 开头
doc.Range.Bookmarks["tbdw"].Text = this.lblcom.Text;
 
builder.MoveToBookmark("pxtx"); //开始添加值
Aspose.Words.Tables.Table table = builder.StartTable();
builder.RowFormat.HeadingFormat = true;
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
#endregion
 
#region 数据集
for (int i = 0; i < dtable.Rows.Count; i++)
{
for (int j = 0; j < dtable.Columns.Count - 3; j++)
{
#region 列
builder.InsertCell();// 添加一个单元格
builder.CellFormat.Borders.LineStyle = LineStyle.Single;
builder.CellFormat.Borders.Color = System.Drawing.Color.Black;
builder.CellFormat.Shading.BackgroundPatternColor = System.Drawing.Color.FromArgb(255, 255, 255);
builder.CellFormat.Width = widthList[j];
builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None;
builder.CellFormat.VerticalAlignment = CellVerticalAlignment.Top;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//水平居中对齐
builder.Write(dtable.Rows[i][j].ToString().Trim());
 
//Universal.ExceptionLog((i + 1).ToString() + "*" + (j + 1).ToString(), dtable.Rows[i][j].ToString().Trim());
#endregion
}
 
builder.EndRow();
 
}
#endregion
 
#region 备注列
builder.InsertCell();// 添加一个单元格
builder.CellFormat.Borders.LineStyle = LineStyle.Single;
builder.CellFormat.Borders.Color = System.Drawing.Color.Black;
builder.CellFormat.Shading.BackgroundPatternColor = System.Drawing.Color.FromArgb(255, 255, 255);
builder.CellFormat.Width = remarkWidth;
builder.RowFormat.Height = 50;
builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None;
builder.CellFormat.VerticalAlignment = CellVerticalAlignment.Top;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//水平居中对齐
builder.Write("备注:");
builder.EndRow();
#endregion
 
#region 绘制表格以及设置--------- 结尾
builder.EndTable();
doc.Range.Bookmarks["pxtx"].Text = ""; // 清掉标示
#endregion
 
#region 计划编制和审批人
doc.Range.Bookmarks["writername"].Text = dtable.Rows[0]["reg_staff_name"].ToString();
doc.Range.Bookmarks["checkname"].Text = dtable.Rows[0]["check_man_name"].ToString();
#endregion
}
dtable.Dispose();
 
#region 保存数据.
doc.Save(Filename, SaveFormat.Doc, SaveType.OpenInWord, Response); //保存为doc,并打开
#endregion

时间: 2024-12-01 14:02:32

使用aspose.word 第三方的插件实现导出word的相关文章

将网页导出word,导出pdf

问题描述 求解,急!!!varword="";if(navigator.appName=="Netscape"){word=newActiveXObject("Word.Application");}word.Application.Visible=true;//使Word窗口可见//word.ActiveWindow.ActivePane.View.Type=3;//Word视图模式为页面//vardoc=word.documents.open

phpword插件导出word文件时中文乱码问题处理方案_php技巧

最近一个项目开发要用到PHP技术导出Word文档,比较了几种方案,首先是使用Microsoft Office自带的ActiveX/COM组件,比如Word.Application,这种方式的优点是格式兼容度高,可以生成纯doc的Word2003格式文档,缺点一是比较占资源(调用会启动一个WINWORD.EXE进程),不适合Web多用户访问使用:二是PHP这种Web开发技术大多数是跑在Linux服务器上,当然也就无法使用Windows下的技术了,平台可移植和兼容性不好. 第二种生成Word的方案是

Word输入辅助插件:数学公式编辑器

针对Word用户不同需要而开发的各种第三方扩展插件让功能强大的Word如虎添翼,弥补了它在许多专业领域输入和编辑的不足.笔者将时下流行的Word插件收集起来,希望能对大家的工作和学习有所帮助. 数学公式编辑器--MathType5 点这里下载>> Word2003中的公式编辑器,符号输入设置虽然全面,但是在进行专业的数学符号输入时,还是不能满足需求,"MathType"作为功能强大的公式编辑和转换插件,提供了多种专业数学符号和数学公式模板,解决了在Word中输入疑难符号和快

导入word-如何使用NPOI导入导出word文档?

问题描述 如何使用NPOI导入导出word文档? 我在做一个.NET试题库,想利用NPOI实现将word文档中的试题导入数据库,跪求源码,求大神帮助!!! 解决方案 http://tonyqus.sinaapp.com/archives/637 这是npoi作者自己写的教程. 解决方案二: 使用Npoi 导入导出NPOI 导出 Word (没有Office操作Word)使用第三方组件NPOI和iTextSharp根据DataTable导出Excel.Word.Pdf

java-报表 Java项目集成 支持导出word和pdf

问题描述 报表 Java项目集成 支持导出word和pdf 烦请大家推荐一下报表的插件啊,现在急需统计相关的包边插件来实现 数据的图表展示, 并且支持图表的导出,导出的格式是excel.word.pdf. 需要与Java的web项目集成.看了网上很多推荐的插件,觉得一头雾水, 劳烦大家结合自己的实际使用,推荐一下,有相关的教程最好了,谢谢啦~~~ 解决方案 eclipse 里 有个报表插件 birt 解决方案二: poi,itext这俩jar包好用

适合个人网站的第三方社会化插件推荐

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 从评论系统到分享按钮,从智能推荐插件到社会化登陆,社会化插件已经入侵了网站的方方面面,我就推荐些适合个人网站使用的第三方社会化插件. 搜索引擎认为最有价值的(按先后顺序): 1:内容 2:社会化 3:用户体验 4:链接建设 5:SEO 这是从ZAC博客中分享的一个Bing人员总结的高度浓缩的SEO技术,其实适用于所有搜索引擎.由此可见社会化的

.net 如何实现导出word之前的预览功能

问题描述 .net如何实现导出word之前的预览功能求大神帮忙 解决方案 解决方案二:http://www.cnblogs.com/gossip/p/3473024.html解决方案三:aspose.words

win7下水晶报表导出word程序崩溃

问题描述 windows7系统下水晶报表vs2008导出word时,程序崩溃.xp系统下导出正常,有谁知道原因啊.求解决!!!! 解决方案 解决方案二:修改区域和语言可以解决,不过想知道什么原因,可不可以通过其他方式解决,比如修改代码或者安装插件什么的.解决方案三:WIN7的话,需要用管理员身份运行你的VS试试解决方案四:我的程序就是用管理员身份运行的,没用.只有word会崩溃,exce,pdf都不会崩溃.

qtcreator-Qt导出word文档,如何在代码中设置文档内容的样式?

问题描述 Qt导出word文档,如何在代码中设置文档内容的样式? RT.网上查了一下,基本都是用模板+书签的方法来插入内容,但是我现在想直接靠运行程序来生成一个文档,但是这就有一个问题,文档内容的格式就得写在代码之中,而不能像书签那样把格式定好了直接插内容就行.各位大神知道怎么弄吗? 解决方案 一样的,可以对Selection应用段落样式来实现.具体可以在word中录制一个宏,然后根据自动产生的VB代码照着写.