npoi导出wordword调整表格行高,如何设置导出的行固定行高

NPOI 导出word 如何让第一行单元格也合并
[问题点数:50分]
NPOI 导出word 如何让第一行单元格也合并
[问题点数:50分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|参考网址:http://www.aiuxian.com/article/p-1970779.html
NPOI版本:2.1.3.1
最终效果图:
/// &summary&
/// 导出word培训班自然情况表
/// &/summary&
[HttpPost]
public void PrintWord()
int id = Int32.Parse(Request.Form["id"]);
var query = from n in db.Nature
where n.NatureId == id && n.IsDelete == false
select new NatureInfo
NatureBeginTime = n.NatureBeginTime,
NatureEndTime = n.NatureEndTime,
ActualNum = n.ActualNum,
PlanNum = n.PlanNum,
NaturePlace = n.NaturePlace,
NatureMajor = n.NatureMajor,
TrainName = n.TrainName,
TotalHours = n.TotalHours,
TeachingHours = n.TeachingHours,
Remark = n.Remark
DataTable dt = query.ToDataTable(rec =& new object[] { query });
#region 培训班自然情况表
XWPFDocument doc = new XWPFDocument();//创建word文档
MemoryStream ms = new MemoryStream();//创建流
XWPFParagraph p0 = doc.CreateParagraph();//创建段落
p0.Alignment = ParagraphAlignment.CENTER;//居中显示
XWPFRun r0 = p0.CreateRun();
//设置字体
r0.FontFamily = "宋体";
//设置字体大小
r0.FontSize = 18;
//字体是否加粗,这里加粗了
r0.SetBold(true);
r0.SetText("培训班自然情况表");//写入文本
XWPFParagraph p1 = doc.CreateParagraph();
p1.Alignment = ParagraphAlignment.LEFT;
XWPFRun r1 = p1.CreateRun();
r1.SetText("培训机构:石家庄职工培训基地");
XWPFTable table = doc.CreateTable(1, 4);//创建table
table.RemoveRow(0);//去掉第一行空白的
table.SetColumnWidth(0, 6 * 256);//设置列的宽度
table.SetColumnWidth(1, 10 * 256);
table.SetColumnWidth(2, 6 * 256);
table.SetColumnWidth(3, 10 * 256);
CT_Tbl m_CTTbl = doc.Document.body.GetTblArray()[0];//获得文档第一张表
m_CTTbl.AddNewTblPr().jc = new CT_Jc();
m_CTTbl.AddNewTblPr().jc.val = ST_Jc.//表在页面水平居中
foreach (DataRow r in dt.Rows)
CT_Row nr = new CT_Row();
XWPFTableRow mr = new XWPFTableRow(nr, table);//创建行
mr.GetCTRow().AddNewTrPr().AddNewTrHeight().val = (ulong)1000;//设置行高
nr.AddNewTrPr().AddNewTrHeight().val = (ulong)1000;//设置行高(这两行都得有)
table.AddRow(mr);//将行添加到table中
mr.CreateCell().SetText("培训班名称");
mr.GetCell(0).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);//文字垂直居中(即上下居中)
XWPFTableCell c1 = mr.CreateCell();//创建单元格
CT_Tc ct = c1.GetCTTc();
CT_TcPr cp = ct.AddNewTcPr();
cp.gridSpan = new CT_DecimalNumber();
cp.gridSpan.val = "3"; //合并3列
cp.AddNewVAlign().val = ST_VerticalJc.
ct.GetPList()[0].AddNewPPr().AddNewJc().val = ST_Jc.//单元格内容居中显示
ct.GetPList()[0].AddNewR().AddNewT().Value = r["TrainName"].ToString();
CT_Row cr1 = new CT_Row();
XWPFTableRow tr1 = new XWPFTableRow(cr1, table);
tr1.GetCTRow().AddNewTrPr().AddNewTrHeight().val = (ulong)1000;
cr1.AddNewTrPr().AddNewTrHeight().val = (ulong)1000;
table.AddRow(tr1);
tr1.CreateCell().SetText("培训地点");
tr1.GetCell(0).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
tr1.CreateCell().SetText(r["NaturePlace"].ToString());
tr1.GetCell(1).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
tr1.CreateCell().SetText("培训时间");
tr1.GetCell(2).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
tr1.CreateCell().SetText(Convert.ToDateTime(r["NatureBeginTime"].ToString()).ToShortDateString() + "~" + Convert.ToDateTime(r["NatureEndTime"].ToString()).ToShortDateString());
tr1.GetCell(3).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
CT_Row cr2 = new CT_Row();
XWPFTableRow tr2 = new XWPFTableRow(cr2, table);
tr2.GetCTRow().AddNewTrPr().AddNewTrHeight().val = (ulong)1000;
cr2.AddNewTrPr().AddNewTrHeight().val = (ulong)1000;
table.AddRow(tr2);
tr2.CreateCell().SetText("计划人数");
tr2.GetCell(0).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
tr2.CreateCell().SetText(r["PlanNum"].ToString());
tr2.GetCell(1).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
tr2.CreateCell().SetText("实际人数");
tr2.GetCell(2).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
tr2.CreateCell().SetText(r["ActualNum"].ToString());
tr2.GetCell(3).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
CT_Row cr3 = new CT_Row();
XWPFTableRow tr3 = new XWPFTableRow(cr3, table);//创建行
tr3.GetCTRow().AddNewTrPr().AddNewTrHeight().val = (ulong)1000;
cr3.AddNewTrPr().AddNewTrHeight().val = (ulong)1000;
table.AddRow(tr3);//将行添加到table中
tr3.CreateCell().SetText("总学时");
tr3.GetCell(0).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
XWPFTableCell tc3 = tr3.CreateCell();//创建单元格
CT_Tc ct3 = tc3.GetCTTc();
CT_TcPr cp3 = ct3.AddNewTcPr();
cp3.gridSpan = new CT_DecimalNumber();
cp3.gridSpan.val = "3"; //合并3列
ct3.GetPList()[0].AddNewPPr().AddNewJc().val = ST_Jc.//单元格内容居中显示
ct3.GetPList()[0].AddNewR().AddNewT().Value = r["TotalHours"].ToString();
tr3.GetCell(1).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
CT_Row cr4 = new CT_Row();
XWPFTableRow tr4 = new XWPFTableRow(cr4, table);//创建行
tr4.GetCTRow().AddNewTrPr().AddNewTrHeight().val = (ulong)3000;
cr4.AddNewTrPr().AddNewTrHeight().val = (ulong)3000;
table.AddRow(tr4);//将行添加到table中
tr4.CreateCell().SetText("课程");
tr4.GetCell(0).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
XWPFTableCell tc4 = tr4.CreateCell();//创建单元格
CT_Tc ct4 = tc4.GetCTTc();
CT_TcPr cp4 = ct4.AddNewTcPr();
cp4.gridSpan = new CT_DecimalNumber();
cp4.gridSpan.val = "3"; //合并3列
ct4.GetPList()[0].AddNewPPr().AddNewJc().val = ST_Jc.//单元格内容居中显示
ct4.GetPList()[0].AddNewR().AddNewT().Value = r["NatureMajor"].ToString();
tr4.GetCell(1).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
CT_Row cr5 = new CT_Row();
XWPFTableRow tr5 = new XWPFTableRow(cr5, table);//创建行
tr5.GetCTRow().AddNewTrPr().AddNewTrHeight().val = (ulong)1000;
cr5.AddNewTrPr().AddNewTrHeight().val = (ulong)1000;
table.AddRow(tr5);//将行添加到table中
tr5.CreateCell().SetText("授课学时");
tr5.GetCell(0).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
XWPFTableCell tc5 = tr5.CreateCell();//创建单元格
CT_Tc ct5 = tc5.GetCTTc();
CT_TcPr cp5 = ct5.AddNewTcPr();
cp5.gridSpan = new CT_DecimalNumber();
cp5.gridSpan.val = "3"; //合并3列
ct5.GetPList()[0].AddNewPPr().AddNewJc().val = ST_Jc.//单元格内容居中显示
ct5.GetPList()[0].AddNewR().AddNewT().Value = r["TeachingHours"].ToString();
tr5.GetCell(1).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
CT_Row cr6 = new CT_Row();
XWPFTableRow tr6 = new XWPFTableRow(cr6, table);//创建行
tr6.GetCTRow().AddNewTrPr().AddNewTrHeight().val = (ulong)2000;
cr6.AddNewTrPr().AddNewTrHeight().val = (ulong)2000;
table.AddRow(tr6);//将行添加到table中
tr6.CreateCell().SetText("备注");
tr6.GetCell(0).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
XWPFTableCell tc6 = tr6.CreateCell();//创建单元格
CT_Tc ct6 = tc6.GetCTTc();
CT_TcPr cp6 = ct6.AddNewTcPr();
cp6.gridSpan = new CT_DecimalNumber();
cp6.gridSpan.val = "3"; //合并3列
ct6.GetPList()[0].AddNewPPr().AddNewJc().val = ST_Jc.//单元格内容居中显示
ct6.GetPList()[0].AddNewR().AddNewT().Value = r["Remark"].ToString();
tr6.GetCell(1).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
#endregion
// 写入到客户端
doc.Write(ms);
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
Response.AddHeader("Content-Disposition", string.Format(" filename={0}.doc", "培训班自然情况表" + System.DateTime.Now.ToString("yyyymmddhhmmssfff ")));
Response.Charset = "UTF-8";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
// 指定返回的是一个不能被客户端读取的流,必须被下载
Response.ContentType = "application/ms-word";
// 把文件流发送到客户端
Response.BinaryWrite(ms.ToArray());
doc = null;
ms.Close();
ms.Dispose();
阅读(...) 评论()清除回答草稿
&&&您需要以后才能回答,未注册用户请先。XWPFDocument doc = new XWPFDocument();
XWPFParagraph p0 = doc.CreateParagraph();
p0.Alignment = ParagraphAlignment.LEFT;
XWPFRun r0 = p0.CreateRun();
r0.FontFamily = "宋体";
r0.FontSize = 18;
r0.IsBold = true;
r0.SetText("未登录过学生的账号密码");
XWPFTable table = doc.CreateTable(4, 4);
table.Width = 1600;//设置表格宽度
table.SetColumnWidth(0, 800);
XWPFParagraph pIO = table.GetRow(0).GetCell(0).Paragraphs[0];
//获取第0行第0列的文本框
XWPFRun rIO = pIO.CreateRun();//创建编辑
rIO.FontFamily = "微软雅黑";
rIO.FontSize = 12;
rIO.IsBold = true;
rIO.SetText("0");//复制
FileStream out1 = new FileStream("simpleTable.docx", FileMode.Create);//输出到默认位置
doc.Write(out1);
out1.Close();
以上为通过NPOI导出Word文档的基础示例。
阅读(...) 评论()NPOI中设定单元格宽度怎么办
[问题点数:40分,结帖人zqckzqck]
NPOI中设定单元格宽度怎么办
[问题点数:40分,结帖人zqckzqck]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2012年12月 .NET技术大版内专家分月排行榜第三
匿名用户不能发表回复!|}

我要回帖

更多关于 word中表格行高调整 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信