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

#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 widthList = new List();

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值