private static void AdjustGridRowCount(XWPFTable table, GridDefine gridDefine, int newRowCount) { for (int i = 0; i < newRowCount; i++) { XWPFTableRow row = table.InsertNewTableRow(gridDefine.StartRowIndex); XWPFTableRow templateRow = gridDefine.Templates[i == newRowCount - 1 ? gridDefine.Templates.Count - 1 : 0]; WordGenerator.CopyRow(templateRow, row); } foreach (XWPFTableRow templateRow in gridDefine.Templates) { table.RemoveRow(table.Rows.IndexOf(templateRow)); } }
private void SetText(XWPFTable tb, int row, int column, String cellText, ParagraphAlignment paragraphAlignment = ParagraphAlignment.LEFT, int fontSize = 11, bool bold = false) { var cell = tb.GetRow(row).GetCell(column); XWPFParagraph p0 = new XWPFParagraph(new CT_P(), cell); p0.Alignment = paragraphAlignment; XWPFRun r0 = p0.CreateRun(); r0.FontFamily = "宋体"; r0.FontSize = fontSize; r0.SetBold(bold); r0.SetText(cellText); cell.SetParagraph(p0); }
public void TestTblGrid() { XWPFDocument doc = new XWPFDocument(); CT_Tbl ctTable = new CT_Tbl(); CT_TblGrid cttblgrid = ctTable.AddNewTblGrid(); cttblgrid.AddNewGridCol().w = 123; cttblgrid.AddNewGridCol().w = 321; XWPFTable xtab = new XWPFTable(ctTable, doc); Assert.AreEqual(123, xtab.GetCTTbl().tblGrid.gridCol[0].w); Assert.AreEqual(321, xtab.GetCTTbl().tblGrid.gridCol[1].w); }
protected void SetTableCell(XWPFTable table, int row, int col, string value, int fontSize = -1) { var cell = table.GetRow(row).GetCell(col); var para = cell.Paragraphs[0]; var run = para.CreateRun(); run.SetText(value ?? ""); if (fontSize != -1) { run.FontSize = fontSize; } }
private void ExportBasicInfo(XWPFTable tb) { SetText(tb, 0, 0, string.Format("员工个人{0}", _AssessActivity.ItsAssessActivityPaper.PaperName), ParagraphAlignment.CENTER, 16); SetText(tb, 1, 1, _AssessActivity.ItsEmployee.Account.Name); SetText(tb, 1, 3, _AssessActivity.ItsEmployee.EmployeeDetails.Gender.Name); SetText(tb, 1, 5, _AssessActivity.ItsEmployee.EmployeeDetails.Birthday.ToShortDateString()); SetText(tb, 2, 1, _AssessActivity.ItsEmployee.Account.Dept.DepartmentName); SetText(tb, 2, 3, _AssessActivity.ItsEmployee.Account.Position.Name); SetText(tb, 2, 5, _AssessActivity.ItsEmployee.Account.Dept.DepartmentLeader.Name); SetText(tb, 3, 1, _AssessActivity.ItsEmployee.EmployeeDetails.Education.EducationalBackground.Name); SetText(tb, 3, 3, _AssessActivity.ItsEmployee.EmployeeDetails.Work.ComeDate.ToShortDateString()); SetText(tb, 3, 5, _AssessActivity.ScopeFrom.ToShortDateString() + "--" + _AssessActivity.ScopeTo.ToShortDateString()); }
private static void word_init(XWPFDocument m_Docx, String prjName) { //设置页面 将页面设置为A4 纵向 //参考网站 http://www.aiuxian.com/article/p-1970779.html CT_SectPr m_SectPr = new CT_SectPr(); m_SectPr.pgSz.w = (ulong)11906; m_SectPr.pgSz.h = (ulong)16838; m_Docx.Document.body.sectPr = m_SectPr; //第一页 封面 word_insert_space(5, m_Docx); word_insert_text(m_Docx, "宋体", 22, prjName); word_insert_text(m_Docx, "宋体", 22, "GSM-R 通信系统"); word_insert_text(m_Docx, "宋体", 22, "现场勘查报告"); word_insert_space(7, m_Docx); word_insert_text(m_Docx, "宋体", 22, DateTime.Now.ToString("yyyy年MM月dd日")); word_insert_space(7, m_Docx); //创建表并获取该表 XWPFTable table = m_Docx.CreateTable(4, 2); CT_Tbl ctbl = m_Docx.Document.body.GetTblArray()[0]; //表居中 ctbl.AddNewTblPr().jc = new CT_Jc(); ctbl.AddNewTblPr().jc.val = ST_Jc.center; //表宽度为8000 ctbl.AddNewTblPr().AddNewTblW().w = "8000"; ctbl.AddNewTblPr().AddNewTblW().type = ST_TblWidth.dxa; //列宽设置 CT_TcPr m_Pr = table.GetRow(0).GetCell(1).GetCTTc().AddNewTcPr(); m_Pr.tcW = new CT_TblWidth(); m_Pr.tcW.w = "3000"; m_Pr.tcW.type = ST_TblWidth.dxa; //行高设置 //设置表中文本 table.GetRow(0).GetCell(0).SetText("项目"); table.GetRow(1).GetCell(0).SetText("勘察日期"); table.GetRow(2).GetCell(0).SetText("现场勘查人员"); table.GetRow(3).GetCell(0).SetText("报告修正人员"); word_insert_space(4, m_Docx); }
public void Bug57495_getParagraphArrayInTableCell() { XWPFDocument doc = new XWPFDocument(); //let's create a table for the test XWPFTable table = doc.CreateTable(2, 2); Assert.IsNotNull(table); XWPFParagraph p = table.GetRow(0).GetCell(0).GetParagraphArray(0); Assert.IsNotNull(p); //let's check also that returns the correct paragraph XWPFParagraph same = table.GetRow(0).GetCell(0).Paragraphs[0]; Assert.AreEqual(p, same); }
public static XWPFTable SetColumnWidth(this XWPFTable tbl, params ulong[] widthArray) { var cells = tbl.Rows[0].GetTableCells(); int index = 0; foreach (var c in cells) { if (index < widthArray.Length && widthArray[index] != null) { tbl.SetColumnWidth(index, widthArray[index]); index++; } } return(tbl); }
private void MergeCellsHorizontal(XWPFTable table, int row, int fromCell, int toCell) { for (int cellIndex = fromCell; cellIndex <= toCell; cellIndex++) { XWPFTableCell cell = table.GetRow(row).GetCell(cellIndex); if (cellIndex == fromCell) { cell.GetCTTc().AddNewTcPr().AddNewHMerge().val = ST_Merge.restart; } else { cell.GetCTTc().AddNewTcPr().AddNewHMerge().val = ST_Merge.@continue; } } }
private static object[] ExactContractorDetails(XWPFTable table) { var rowItems = new List <object>(); foreach (XWPFTableRow row in table.Rows) { List <XWPFTableCell> cells = row.GetTableCells(); for (int i = 1; i < cells.Count; i += 2) { rowItems.Add(cells[i].GetText()); } } return(rowItems.ToArray()); }
public void TestCellVerticalAlign() { XWPFDocument docx = XWPFTestDataSamples.OpenSampleDocument("59030.docx"); IList <XWPFTable> tables = docx.Tables; Assert.AreEqual(1, tables.Count); XWPFTable table = tables[0]; List <XWPFTableRow> tableRows = table.Rows; Assert.AreEqual(2, tableRows.Count); Assert.AreEqual(XWPFVertAlign.TOP, tableRows[0].GetCell(0).GetVerticalAlignment()); Assert.AreEqual(XWPFVertAlign.BOTTOM, tableRows[0].GetCell(1).GetVerticalAlignment()); Assert.AreEqual(XWPFVertAlign.CENTER, tableRows[1].GetCell(0).GetVerticalAlignment()); Assert.AreEqual(XWPFVertAlign.TOP, tableRows[1].GetCell(1).GetVerticalAlignment()); }
public static XWPFParagraph SetCellText(XWPFDocument doc, XWPFTable table, string setText, ParagraphAlignment align, int textPos) { CT_P para = new CT_P(); XWPFParagraph pCell = new XWPFParagraph(para, table.Body); //pCell.Alignment = ParagraphAlignment.LEFT;//字体 pCell.Alignment = align; XWPFRun r1c1 = pCell.CreateRun(); r1c1.SetText(setText); //r1c1.FontSize = 12; //r1c1.SetFontFamily("华文楷体", FontCharRange.None);//设置雅黑字体 //r1c1.SetTextPosition(textPos);//设置高度 return(pCell); }
public void TestSetGetWidth() { XWPFDocument doc = new XWPFDocument(); CT_Tbl table = new CT_Tbl(); table.AddNewTblPr().AddNewTblW().w = "1000"; XWPFTable xtab = new XWPFTable(table, doc); Assert.AreEqual(1000, xtab.Width); xtab.Width = 100; Assert.AreEqual(100, int.Parse(table.tblPr.tblW.w)); }
/// <summary> /// 替换表格中的文本 /// </summary> /// <param name="table"></param> /// <param name="placeHolder"></param> /// <param name="replaceText"></param> /// <param name="setRunStyleDelegate"></param> private static void ReplacePlaceHolderInTable(XWPFTable table, Dictionary<string, string> oldAndNewStringDict) { foreach (XWPFTableRow row in table.Rows) { foreach (XWPFTableCell cell in row.GetTableCells()) { XWPFParagraph paragraph; for (int i = 0; i < cell.Paragraphs.Count; i++) { paragraph = cell.Paragraphs[i]; ReplacePlaceHolderInParagraph(paragraph, oldAndNewStringDict); } } } }
private static void AddPictureInTable(XWPFTable table, List<AddPictureOptions> listAddPictureOptions) { foreach (XWPFTableRow row in table.Rows) { foreach (XWPFTableCell cell in row.GetTableCells()) { XWPFParagraph paragraph; for (int i = 0; i < cell.Paragraphs.Count; i++) { paragraph = cell.Paragraphs[i]; AddPicture(paragraph, listAddPictureOptions); } } } }
private static void DoAddTable(XWPFTable table, XWPFParagraph paragraph, AddTableOptions TableOptions) { string runText; IList <XWPFRun> listRun = paragraph.Runs; if (TableOptions != null && TableOptions.dataTable != null && TableOptions.dataTable.Rows.Count > 0) { var nCls = TableOptions.dataTable.Columns.Count; var nRows = TableOptions.dataTable.Rows.Count; for (int i = 0; i < listRun.Count; i++) { XWPFRun run = listRun[i]; runText = run.Text; if (run.Text == TableOptions.PlaceHolder.ToString()) { paragraph.RemoveRun(i); int j = 0; foreach (DataColumn c in TableOptions.dataTable.Columns) { //table.GetRow(0).GetCell(j).SetColor("#AEAAAA"); table.GetRow(0).GetCell(j).SetText(c.ColumnName); //XWPFParagraph pIO = table.GetRow(0).GetCell(j).AddParagraph(); //XWPFRun rIO = pIO.CreateRun(); //rIO.FontFamily = "宋体"; //rIO.FontSize = 11; //rIO.IsBold = true; //rIO.SetText(c.ColumnName); j++; } j = 0; for (int n = 0; n < nRows; n++) { var dr = TableOptions.dataTable.Rows[n]; 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中 for (int m = 0; m < nCls; m++) { mr.CreateCell().SetText(dr[m].ToString()); } } } } } }
public void TestSetGetRepeatHeader() { // create a table XWPFDocument doc = new XWPFDocument(); CT_Tbl ctTable = new CT_Tbl(); XWPFTable table = new XWPFTable(ctTable, doc); // table has a single row by default; grab it XWPFTableRow tr = table.GetRow(0); Assert.IsNotNull(tr); tr.IsRepeatHeader = true; bool isRpt = tr.IsRepeatHeader; Assert.IsTrue(isRpt); }
public void setAlign(XWPFTable table) { for (int i = 0; i < table.Rows.Count; i++) { table.GetRow(i).GetCell(0).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER); table.GetRow(i).GetCell(1).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER); if (table.GetRow(i).GetCell(2) != null) { table.GetRow(i).GetCell(2).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER); } if (table.GetRow(i).GetCell(3) != null) { table.GetRow(i).GetCell(3).SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER); } } }
/// <summary> /// /// 设置字体格式 /// /// </summary> /// /// <param name="doc">doc对象</param> /// /// <param name="table">表格对象</param> /// /// <param name="setText">要填充的文字</param> /// /// <returns></returns> public XWPFParagraph SetCellText(XWPFDocument doc, XWPFTable table, string setText) { //table中的文字格式设置 CT_P para = new CT_P(); XWPFParagraph pCell = new XWPFParagraph(para, table.Body); pCell.Alignment = ParagraphAlignment.CENTER; //字体居中 pCell.VerticalAlignment = TextAlignment.CENTER; //字体居中 XWPFRun r1c1 = pCell.CreateRun(); r1c1.SetText(setText); r1c1.FontSize = 12; r1c1.SetFontFamily("华文楷体", FontCharRange.None);//设置字体 //r1c1.SetTextPosition(20);//设置高度 return(pCell); }
public void TestSetTableDescription() { // create a table XWPFDocument doc = new XWPFDocument(); CT_Tbl ctTable = new CT_Tbl(); XWPFTable table = new XWPFTable(ctTable, doc); //Set Description table.TableDescription = "%TABLEDESCRIPTION%"; //Check CT_String tblDesc = table.GetCTTbl().tblPr.tblDescription; Assert.IsNotNull(tblDesc); Assert.AreEqual("%TABLEDESCRIPTION%", tblDesc.val); }
public static XWPFParagraph SetCellText(XWPFDocument doc, XWPFTable table, WordCell wordCell) { CT_P para = new CT_P(); XWPFParagraph pCell = new XWPFParagraph(para, table.Body); pCell.Alignment = wordCell.H_Alignment; pCell.VerticalAlignment = wordCell.V_Alignment; XWPFRun r1c1 = pCell.CreateRun(); r1c1.SetText(wordCell.Content); r1c1.FontSize = wordCell.FontSize; r1c1.FontFamily = wordCell.FontFamily; r1c1.IsBold = wordCell.FontBold; return(pCell); }
public void TestGetText() { XWPFDocument doc = new XWPFDocument(); CT_Tbl table = new CT_Tbl(); CT_Row row = table.AddNewTr(); CT_Tc cell = row.AddNewTc(); CT_P paragraph = cell.AddNewP(); CT_R run = paragraph.AddNewR(); CT_Text text = run.AddNewT(); text.Value = ("finally I can Write!"); XWPFTable xtab = new XWPFTable(table, doc); Assert.AreEqual("finally I can Write!\n", xtab.Text); }
protected XWPFTable InsertTable(XWPFDocument document, int rowCount, int colCount) { XWPFTable table1 = document.CreateTable(rowCount, colCount); var tblLayout1 = table1.GetCTTbl().tblPr.AddNewTblLayout(); tblLayout1.type = ST_TblLayoutType.@fixed; const int width = 10000; for (int i = 0; i < colCount; i++) { table1.SetColumnWidth(i, (ulong)(width / colCount)); } return(table1); }
/// <summary> /// 生成模板文件 /// </summary> /// <param name="m_Docx">根文档</param> private static void word_init(XWPFDocument m_Docx) { //1‘=1440twip=25.4mm=72pt(磅point)=96px(像素pixel) //1px(像素pixel)=0.75pt(磅point) // A4:W=11906 twip=8.269''=210mm,h=16838twip=11.693''=297mm //A5:W=8390 twip=5.827''=148mm,h=11906 twip=8.269''=210mm //A6:W=5953 twip=4.134''=105mm,h=8390twip=5.827''=1148mm //16k195mmX270mm: //16k184mmX260mm: //16k197mmX273mm: CT_SectPr m_SectPr = new CT_SectPr(); //页面设置A4纵向 m_SectPr.pgSz.w = (ulong)11906; m_SectPr.pgSz.h = (ulong)16838; m_Docx.Document.body.sectPr = m_SectPr; //第一页 word_insert_space(4, m_Docx); word_insert_text(m_Docx, "宋体", 22, "【项目名称】"); word_insert_text(m_Docx, "宋体", 22, "GSM-R 通信系统"); word_insert_text(m_Docx, "宋体", 22, "现场勘查报告"); word_insert_space(8, m_Docx); word_insert_text(m_Docx, "宋体", 22, "【日期】"); word_insert_space(7, m_Docx); //第二页 //表1 XWPFTable table = m_Docx.CreateTable(4, 2); CT_Tbl ctbl = m_Docx.Document.body.GetTblArray()[0]; CT_TblPr ctblpr = ctbl.AddNewTblPr(); ctblpr.jc = new CT_Jc(); ctblpr.jc.val = ST_Jc.center; table.Width = 4000; table.GetRow(0).GetCell(0).SetText("项目"); table.GetRow(1).GetCell(0).SetText("日期"); table.GetRow(2).GetCell(0).SetText("现场勘查人员"); table.GetRow(3).GetCell(0).SetText("报告编制人员"); CT_TcPr m_Pr = table.GetRow(0).GetCell(1).GetCTTc().AddNewTcPr(); m_Pr.tcW = new CT_TblWidth(); m_Pr.tcW.w = "4000"; m_Pr.tcW.type = ST_TblWidth.dxa; //设置单元格宽度 word_insert_space(2, m_Docx); word_insert_text(m_Docx, "宋体", 12, "基站勘察表"); }
public void Execute(object parameter) { List <ReportData> reportData = (List <ReportData>)parameter; XWPFDocument doc = new XWPFDocument(); XWPFParagraph paragraph = doc.CreateParagraph(); paragraph.Alignment = ParagraphAlignment.CENTER; XWPFRun r0 = paragraph.CreateRun(); r0.SetText($"Отчёт об успешности прохождения тестов: {reportData[0].firstDate.ToString("dd/MM/yyyy")} - {reportData[0].secondDate.ToString("dd/MM/yyyy")}"); XWPFTable table = doc.CreateTable(reportData.Count + 1, 4); table.GetRow(0).GetCell(0).SetText("Должность"); table.GetRow(0).GetCell(1).SetText("Выполнили на ⩾ 50% (чел.)"); table.GetRow(0).GetCell(2).SetText("Выполнили на ⩾ 75% (чел.)"); table.GetRow(0).GetCell(3).SetText("Выполнили на 100% (чел.)"); for (int i = 1; i < 3; i++) { table.GetRow(i).GetCell(0).SetText(reportData[i - 1].Job.Name); } for (int i = 1; i < 3; i++) { table.GetRow(i).GetCell(1).SetText(reportData[i - 1].minimalPercent.ToString()); } for (int i = 1; i < 3; i++) { table.GetRow(i).GetCell(2).SetText(reportData[i - 1].highPercent.ToString()); } for (int i = 1; i < 3; i++) { table.GetRow(i).GetCell(3).SetText(reportData[i - 1].fullPercent.ToString()); } SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "Документ Word (*.docx)|*.docx"; if (saveFileDialog.ShowDialog() == true) { FileStream Out = new FileStream(saveFileDialog.FileName, FileMode.Create); doc.Write(Out); Out.Close(); } }
///// <summary> ///// 组合搜索条件 ///// </summary> ///// <returns></returns> //private Expression<Func<RepetitivePlan, bool>> GetWhere() //{ // Expression<Func<RepetitivePlan, bool>> predicate = PredicateBuilder.True<RepetitivePlan>(); // predicate = predicate.And(m => m.PlanState == "0"); // predicate = predicate.And(m => m.Creator == User.ID); // if (!string.IsNullOrEmpty(Request.QueryString["plancode"])) // { // var val = Request.QueryString["plancode"].Trim(); // predicate = predicate.And(m => m.PlanCode == val); // } // return predicate; //} ///* //private void MyUnSubmitCurrentPlanExport() //{ // AjaxResult result = new AjaxResult(); // result.IsSuccess = true; // var listData = currPlanBll.GetList(GetWhere1()); // #region // var hssfworkbook = new HSSFWorkbook(); // var sheet1 = hssfworkbook.CreateSheet("Sheet1"); // sheet1.DefaultRowHeight = 15 * 20; // sheet1.DefaultColumnWidth = 18; // //设置样式 // var styleTop = hssfworkbook.CreateCellStyle(); // var fontTop = hssfworkbook.CreateFont(); // fontTop.FontHeightInPoints = 11; // fontTop.FontName = "宋体"; // fontTop.Boldweight = (short)FontBoldWeight.Bold; // styleTop.Alignment = HorizontalAlignment.Center; // styleTop.SetFont(fontTop); // //设置样式 // var style = hssfworkbook.CreateCellStyle(); // var font = hssfworkbook.CreateFont(); // font.FontName = "宋体"; // font.FontHeightInPoints = 11; // style.SetFont(font); // var headerRow = sheet1.CreateRow(0); // headerRow.CreateCell(0).SetCellValue("申请单号"); // headerRow.CreateCell(1).SetCellValue("任务类型"); // headerRow.CreateCell(2).SetCellValue("注册号"); // headerRow.CreateCell(3).SetCellValue("使用机型"); // headerRow.CreateCell(4).SetCellValue("航线走向和飞行高度"); // headerRow.CreateCell(5).SetCellValue("预计开始时间"); // headerRow.CreateCell(6).SetCellValue("预计结束时间"); // headerRow.CreateCell(7).SetCellValue("起飞时刻"); // headerRow.CreateCell(8).SetCellValue("降落时刻"); // headerRow.CreateCell(9).SetCellValue("起飞点"); // headerRow.CreateCell(10).SetCellValue("降落点"); // headerRow.CreateCell(11).SetCellValue("周执行计划"); // headerRow.CreateCell(12).SetCellValue("其他需要说明的事项"); // int rowIndex = 1; // if (listData != null && listData.Count > 0) // { // foreach (var item in listData) // { // var dataRow = sheet1.CreateRow(rowIndex); // dataRow.CreateCell(0).SetCellValue(item.PlanCode); // dataRow.CreateCell(1).SetCellValue(item.FlightType); // dataRow.CreateCell(2).SetCellValue(item.CallSign); // dataRow.CreateCell(3).SetCellValue(item.AircraftType); // dataRow.CreateCell(4).SetCellValue(item.FlightDirHeight); // dataRow.CreateCell(5).SetCellValue(item.StartDate.ToString()); // dataRow.CreateCell(6).SetCellValue(item.EndDate.ToString()); // dataRow.CreateCell(7).SetCellValue(item.SOBT.ToString()); // dataRow.CreateCell(8).SetCellValue(item.SIBT.ToString()); // dataRow.CreateCell(9).SetCellValue(item.ADEP); // dataRow.CreateCell(10).SetCellValue(item.ADES); // dataRow.CreateCell(11).SetCellValue(item.WeekSchedule); // dataRow.CreateCell(12).SetCellValue(item.Remark); // rowIndex++; // } // var dr = sheet1.CreateRow(rowIndex); // rowIndex++; // } // #endregion // var file = new MemoryStream(); // hssfworkbook.Write(file); // Response.ContentType = "application/vnd.ms-excel"; // Response.ContentEncoding = Encoding.UTF8; // Response.Charset = ""; // Response.Clear(); // Response.AppendHeader("Content-Disposition", // "attachment;filename=" + // HttpUtility.UrlEncode("当日计划未提交列表" + ".xls", System.Text.Encoding.UTF8)); // file.WriteTo(Response.OutputStream); // file.Close(); // Response.End(); //} //private Expression<Func<V_CurrentPlan, bool>> GetWhere1() //{ // Expression<Func<V_CurrentPlan, bool>> predicate = PredicateBuilder.True<V_CurrentPlan>(); // var currDate = DateTime.Now.Date; // predicate = predicate.And(m => m.PlanState == "0" && m.Creator == User.ID && m.SOBT == currDate); // return predicate; //} public void mergeCellsHorizontal(XWPFTable table, int row, int fromCell, int toCell) { for (int cellIndex = fromCell; cellIndex <= toCell; cellIndex++) { XWPFTableCell cell = table.GetRow(row).GetCell(cellIndex); if (cellIndex == fromCell) { // The first merged cell is set with RESTART merge value cell.GetCTTc().AddNewTcPr().AddNewHMerge().val = ST_Merge.restart; } else { // Cells which join (merge) the first one, are set with CONTINUE cell.GetCTTc().AddNewTcPr().AddNewHMerge().val = ST_Merge.@continue; } } }
// word跨行并单元格 public void mergeCellsVertically(XWPFTable table, int col, int fromRow, int toRow) { for (int rowIndex = fromRow; rowIndex <= toRow; rowIndex++) { XWPFTableCell cell = table.GetRow(rowIndex).GetCell(col); if (rowIndex == fromRow) { // The first merged cell is set with RESTART merge value cell.GetCTTc().AddNewTcPr().AddNewVMerge().val = ST_Merge.restart; } else { // Cells which join (merge) the first one, are set with CONTINUE cell.GetCTTc().AddNewTcPr().AddNewVMerge().val = ST_Merge.@continue; } } }
/// <summary> /// 设置字体格式 /// </summary> /// <param name="doc"></param> /// <param name="table"></param> /// <param name="setText"></param> /// <returns></returns> public static XWPFParagraph SetCellText(XWPFDocument doc, XWPFTable table, string setText) { //table中的文字格式设置 var para = new CT_P(); var pCell = new XWPFParagraph(para, table.Body); pCell.Alignment = ParagraphAlignment.LEFT; //字体居中 pCell.VerticalAlignment = TextAlignment.CENTER;; //字体居中 var r1c1 = pCell.CreateRun(); r1c1.SetText(setText); //r1c1.FontSize = 13; //r1c1.SetFontFamily("华文楷体"); //设置雅黑字体 return(pCell); }
public void Test54099() { XWPFDocument doc = new XWPFDocument(); CT_Tbl ctTable = new CT_Tbl(); XWPFTable table = new XWPFTable(ctTable, doc); XWPFTableRow tr = table.GetRow(0); XWPFTableCell cell = tr.GetCell(0); CT_Tc ctTc = cell.GetCTTc(); CT_TcPr tcPr = ctTc.AddNewTcPr(); CT_HMerge hMerge = tcPr.AddNewHMerge(); hMerge.val = (ST_Merge.restart); CT_TcBorders tblBorders = tcPr.AddNewTcBorders(); CT_VMerge vMerge = tcPr.AddNewVMerge(); }
public static XWPFParagraph SetCellText(XWPFDocument doc, XWPFTable table, string setText) { //table中的文字格式设置 NPOI.OpenXmlFormats.Wordprocessing.CT_P para = new NPOI.OpenXmlFormats.Wordprocessing.CT_P(); XWPFParagraph pCell = new XWPFParagraph(para, table.Body); pCell.Alignment = ParagraphAlignment.CENTER; //字体居中 pCell.VerticalAlignment = TextAlignment.CENTER; //字体居中 XWPFRun r1c1 = pCell.CreateRun(); r1c1.SetText(setText); r1c1.FontSize = 12; r1c1.FontFamily = "宋体"; r1c1.SetTextPosition(16);//设置高度 return(pCell); }