zoukankan
html css js c++ java
C# 操作Word文档(转)
public
string
CreateWordFile(
string
CheckedInfo)
...
{
string
message
=
""
;
try
...
{
Object Nothing
=
System.Reflection.Missing.Value;
Directory.CreateDirectory(
"
C:/CNSI
"
);
//
创建文件所在目录
string
name
=
"
CNSI_
"
+
DateTime.Now.ToShortString()
+
"
.doc
"
;
object
filename
=
"
C://CNSI//
"
+
name;
//
文件保存路径
//
创建Word文档
Word.Application WordApp
=
new
Word.ApplicationClass();
Word.Document WordDoc
=
WordApp.Documents.Add(
ref
Nothing,
ref
Nothing,
ref
Nothing,
ref
Nothing);
//
添加页眉
WordApp.ActiveWindow.View.Type
=
WdViewType.wdOutlineView;
WordApp.ActiveWindow.View.SeekView
=
WdSeekView.wdSeekPrimaryHeader;
WordApp.ActiveWindow.ActivePane.Selection.InsertAfter(
"
[页眉内容]
"
);
WordApp.Selection.ParagraphFormat.Alignment
=
Word.WdParagraphAlignment.wdAlignParagraphRight;
//
设置右对齐
WordApp.ActiveWindow.View.SeekView
=
WdSeekView.wdSeekMainDocument;
//
跳出页眉设置
WordApp.Selection.ParagraphFormat.LineSpacing
=
15f;
//
设置文档的行间距
//
移动焦点并换行
object
count
=
14
;
object
WdLine
=
Word.WdUnits.wdLine;
//
换一行;
WordApp.Selection.MoveDown(
ref
WdLine,
ref
count,
ref
Nothing);
//
移动焦点
WordApp.Selection.TypeParagraph();
//
插入段落
//
文档中创建表格
Word.Table newTable
=
WordDoc.Tables.Add(WordApp.Selection.Range,
12
,
3
,
ref
Nothing,
ref
Nothing);
//
设置表格样式
newTable.Borders.OutsideLineStyle
=
Word.WdLineStyle.wdLineStyleThickThinLargeGap;
newTable.Borders.InsideLineStyle
=
Word.WdLineStyle.wdLineStyleSingle;
newTable.Columns[
1
].Width
=
100f;
newTable.Columns[
2
].Width
=
220f;
newTable.Columns[
3
].Width
=
105f;
//
填充表格内容
newTable.Cell(
1
,
1
).Range.Text
=
"
产品详细信息表
"
;
newTable.Cell(
1
,
1
).Range.Bold
=
2
;
//
设置单元格中字体为粗体
//
合并单元格
newTable.Cell(
1
,
1
).Merge(newTable.Cell(
1
,
3
));
WordApp.Selection.Cells.VerticalAlignment
=
Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
//
垂直居中
WordApp.Selection.ParagraphFormat.Alignment
=
Word.WdParagraphAlignment.wdAlignParagraphCenter;
//
水平居中
//
填充表格内容
newTable.Cell(
2
,
1
).Range.Text
=
"
产品基本信息
"
;
newTable.Cell(
2
,
1
).Range.Font.Color
=
Word.WdColor.wdColorDarkBlue;
//
设置单元格内字体颜色
//
合并单元格
newTable.Cell(
2
,
1
).Merge(newTable.Cell(
2
,
3
));
WordApp.Selection.Cells.VerticalAlignment
=
Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
//
填充表格内容
newTable.Cell(
3
,
1
).Range.Text
=
"
品牌名称:
"
;
newTable.Cell(
3
,
2
).Range.Text
=
BrandName;
//
纵向合并单元格
newTable.Cell(
3
,
3
).Select();
//
选中一行
object
moveUnit
=
Word.WdUnits.wdLine;
object
moveCount
=
5
;
object
moveExtend
=
Word.WdMovementType.wdExtend;
WordApp.Selection.MoveDown(
ref
moveUnit,
ref
moveCount,
ref
moveExtend);
WordApp.Selection.Cells.Merge();
//
插入图片
string
FileName
=
Picture;
//
图片所在路径
object
LinkToFile
=
false
;
object
SaveWithDocument
=
true
;
object
Anchor
=
WordDoc.Application.Selection.Range;
WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName,
ref
LinkToFile,
ref
SaveWithDocument,
ref
Anchor);
WordDoc.Application.ActiveDocument.InlineShapes[
1
].Width
=
100f;
//
图片宽度
WordDoc.Application.ActiveDocument.InlineShapes[
1
].Height
=
100f;
//
图片高度
//
将图片设置为四周环绕型
Word.Shape s
=
WordDoc.Application.ActiveDocument.InlineShapes[
1
].ConvertToShape();
s.WrapFormat.Type
=
Word.WdWrapType.wdWrapSquare;
newTable.Cell(
12
,
1
).Range.Text
=
"
产品特殊属性
"
;
newTable.Cell(
12
,
1
).Merge(newTable.Cell(
12
,
3
));
//
在表格中增加行
WordDoc.Content.Tables[
1
].Rows.Add(
ref
Nothing);
WordDoc.Paragraphs.Last.Range.Text
=
"
文档创建时间:
"
+
DateTime.Now.ToString();
//
“落款”
WordDoc.Paragraphs.Last.Alignment
=
Word.WdParagraphAlignment.wdAlignParagraphRight;
//
文件保存
WordDoc.SaveAs(
ref
filename,
ref
Nothing,
ref
Nothing,
ref
Nothing,
ref
Nothing,
ref
Nothing,
ref
Nothing,
ref
Nothing,
ref
Nothing,
ref
Nothing,
ref
Nothing,
ref
Nothing,
ref
Nothing,
ref
Nothing,
ref
Nothing,
ref
Nothing);
WordDoc.Close(
ref
Nothing,
ref
Nothing,
ref
Nothing);
WordApp.Quit(
ref
Nothing,
ref
Nothing,
ref
Nothing);
message
=
name
+
"
文档生成成功,以保存到C:\CNSI\下
"
;
}
catch
...
{
message
=
"
文件导出异常!
"
;
}
return
message;
}
查看全文
相关阅读:
设计模式之装饰器模式
设计模式之原型模式
设计模式之策略模式
设计模式之适配器模式
设计模式之注册模式
wordpress中add_action和add_filter
工厂模式
设计模式之命令链模式
观察者模式
工厂模式
原文地址:https://www.cnblogs.com/kokoliu/p/879104.html
最新文章
webpack
淘宝 NPM 镜像
npm
Java8中聚合操作collect、reduce方法详解
Netty系列之Netty百万级推送服务设计要点
thymeleaf
Spring Boot -- actuator
Redis Cluster 3.0搭建与使用
Redis Sentinel高可用架构
Codis集群的搭建与使用
热门文章
Could not write JSON: Infinite recursion (StackOverflowError);
Freemarker 的基础使用 (二)
Freemarker 的基础使用 (一)
mybatis 基础详解
Session&Cookie
解决Maven项目中的无故报错的方法
计算机底层原理面试题-2进制
计算机底层编译原理 二进制
Map and HashMap
Queue and deque
Copyright © 2011-2022 走看看