-
更多相关内容
-
WPS如何去除分割线
2021-01-04 15:47:51WPS如何去除分割线 将鼠标滑到需要删除分割线的页面,找到菜单栏中的“页面布局”->“页面边框”,弹出如下对话框: 在“边框”窗口下设置“无”,点击确定即可。展开全文 -
java poi生成word 横向 插入多表格
2021-06-28 11:12:10//默认:宋体(wps)/等线(office2016) 5号 两端对齐 单倍间距 runX.setText("舜发于畎亩之中, 傅说举于版筑之间, 胶鬲举于鱼盐之中, 管夷吾举于士..."); runX.setBold(false);//加粗 runX.setCapitalized...相关jar:
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>3.17</version> </dependency> <!-- CTPageSz 横向纵向设置 --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>ooxml-schemas</artifactId> <version>1.3</version> </dependency>
//
XWPFDocument xdoc = new XWPFDocument(); CTSectPr sectPr = xdoc.getDocument().getBody().addNewSectPr(); CTPageSz pgsz = sectPr.isSetPgSz() ? sectPr.getPgSz() : sectPr.addNewPgSz(); //设置横板 pgsz.setW(BigInteger.valueOf(15840)); pgsz.setH(BigInteger.valueOf(11907)); pgsz.setOrient(STPageOrientation.LANDSCAPE); setTitleText(xdoc,"标题",18,false,true); setTitleText(xdoc,"一、文件("+considers.size()+"件)",12,true,false); XWPFTable xTable = xdoc.createTable();//创建表格 CTTblPr tblPr =xTable.getCTTbl().addNewTblPr(); //内容居中 无效果 tblPr.addNewJc().setVal(STJc.CENTER); //兼容wps CTTblWidth tblWidth = tblPr.isSetTblW() ? tblPr.getTblW() : tblPr.addNewTblW(); //列宽自动分割 tblWidth.setW(new BigInteger("36000"));//总长度 tblWidth.setType(STTblWidth.DXA); xTable.getRow(0).setHeight(300);//高度 setBodyText(xTable.getRow(0).getCell(0), "序号", null,true,true,2000); setBodyText(xTable.getRow(0).addNewTableCell(), "名称", null,true,true,10000); setBodyText(xTable.getRow(0).addNewTableCell(), "类别", null,true,true,2000); setBodyText(xTable.getRow(0).addNewTableCell(), "议案", null,true,true,4000); setBodyText(xTable.getRow(0).addNewTableCell(), "", null,true,true,4000); setBodyText(xTable.getRow(0).addNewTableCell(), "一审", null,true,true,4000); setBodyText(xTable.getRow(0).addNewTableCell(), "", null,true,true,4000); setBodyText(xTable.getRow(0).addNewTableCell(), "二审", null,true,true,4000); setBodyText(xTable.getRow(0).addNewTableCell(), "", null,true,true,2000); XWPFTableRow rowTitle2 = xTable.createRow();//第二行表头 xTable.getRow(0).setHeight(300); setBodyText(rowTitle2.getCell(0), "序号", null,true,true,2000); setBodyText(rowTitle2.getCell(1), "名称", null,true,true,10000); setBodyText(rowTitle2.getCell(2), "类别", null,true,true,2000); setBodyText(rowTitle2.getCell(3), "单位", null,true,true,4000); setBodyText(rowTitle2.getCell(4), "时间", null,true,true,4000); setBodyText(rowTitle2.getCell(5), "承办机构", null,true,true,4000); setBodyText(rowTitle2.getCell(6), "时间", null,true,true,4000); setBodyText(rowTitle2.getCell(7), "承办机构", null,true,true,4000); setBodyText(rowTitle2.getCell(8), "时间", null,true,true,2000); //合并 行列 XWPFTableCell cell = xTable.getRow(0).getCell(0); cell.getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.RESTART); cell = xTable.getRow(1).getCell(0); cell.getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.CONTINUE); cell = xTable.getRow(0).getCell(1); cell.getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.RESTART); cell = xTable.getRow(1).getCell(1); cell.getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.CONTINUE); cell = xTable.getRow(0).getCell(2); cell.getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.RESTART); // addNewVMerge 列 cell = xTable.getRow(1).getCell(2); cell.getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.CONTINUE); cell = xTable.getRow(0).getCell(3); cell.getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART); // addNewHMerge 行 cell = xTable.getRow(0).getCell(4); cell.getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.CONTINUE); cell = xTable.getRow(0).getCell(5); cell.getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART); cell = xTable.getRow(0).getCell(6); cell.getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.CONTINUE); cell = xTable.getRow(0).getCell(7); cell.getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART); cell = xTable.getRow(0).getCell(8); cell.getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.CONTINUE); //设置合并单元格的大小 兼容wps //rowNum:合并的单元格所在行号 fromCellNum:合并的起始单元格 toCellNum:合并的结束单元格 9072:列宽总大小(我写死了9072) columnNum:表格总列数 // table.getRow(rowNum).getCell(fromCellNum).getCTTc().addNewTcPr().addNewTcW() // .setW(BigInteger.valueOf((9072 / columnNum) * (toCellNum - fromCellNum + 1))); xTable.getRow(0).getCell(4).getCTTc().addNewTcPr().addNewTcW() .setW(BigInteger.valueOf((36000 / 9) * (5 - 4 + 1))); // 创建表格内容 for (int i = 0; i < considers.size(); i++) { PlanYearDTO.ConsiderDto data = considers.get(i); XWPFTableRow row = xTable.createRow(); row.setHeight(450); setBodyText(row.getCell(0),(i+1)+"",null,false,true,2000);//长度与列头对齐 setBodyText(row.getCell(1),data.getTitle(),null,false,true,10000); setBodyText(row.getCell(2),StringUtils.isNotBlank(data.getFormulation())?classMap.get(data.getFormulation()):"",null,false,true,2000); setBodyText(row.getCell(3),data.getRequestGroupName(),null,false,true,4000); setBodyText(row.getCell(4),data.getRequestDate() == null ? "" : String.valueOf(data.getRequestDate()),null,false,true,4000); setBodyText(row.getCell(5),data.getFirstGroupName(),null,false,true,4000); setBodyText(row.getCell(6),data.getFirstDate() == null ? "" : String.valueOf(data.getFirstDate()),null,false,true,4000); setBodyText(row.getCell(7),data.getSecondGroupName(),null,false,true,4000); setBodyText(row.getCell(8),data.getSecondDate() == null ? "" : String.valueOf(data.getSecondDate()),null,false,true,2000); } //项目二 setTitleText(xdoc,"一、提请审议项目("+considers.size()+"件)",12,true,false); xTable = xdoc.createTable(); tblPr =xTable.getCTTbl().addNewTblPr(); //居中 无效果 tblPr.addNewJc().setVal(STJc.CENTER); // 创建表头数据 xTable.getRow(0).setHeight(300); // 创建表头数据 setBodyText(xTable.getRow(0).getCell(0), "序号", null,true,true,2000); setBodyText(xTable.getRow(0).addNewTableCell(), "名称", null,true,true,10000); setBodyText(xTable.getRow(0).addNewTableCell(), "类别", null,true,true,2000); setBodyText(xTable.getRow(0).addNewTableCell(), "单位", null,true,true,12000); // 创建表格内容 for (int i = 0; i < surveys.size(); i++) { PlanYearDTO.ConsiderDto data = surveys.get(i); XWPFTableRow tableTwoRowTwo = xTable.createRow(); XWPFTableRow row = xTable.createRow(); row.setHeight(450); setBodyText(row.getCell(0),(i+1)+"",null,false,true,2000); setBodyText(row.getCell(1),data.getTitle(),null,false,true,10000); setBodyText(row.getCell(2),StringUtils.isNotBlank(data.getFormulation())?classMap.get(data.getFormulation()):"",null,false,true,2000); setBodyText(row.getCell(3),data.getDraftGroupName(),null,false,true,12000); } xdoc.write(response.getOutputStream()); xdoc.close();
/** * 设置表格内容 */ private void setTitleText(XWPFDocument xdoc, String text, Integer fontSize, boolean isBold,boolean isCenter) { XWPFParagraph xp = xdoc.createParagraph(); XWPFRun r1 = xp.createRun(); r1.setText(text); r1.setFontFamily("宋体"); if(fontSize != null){ r1.setFontSize(fontSize); } if(isBold){ r1.setBold(true); } if(isCenter){ xp.setAlignment(ParagraphAlignment.CENTER); } }
/** * 设置表格内容 */ private void setBodyText(XWPFTableCell cell, String text,Integer fontSize, boolean isBold,boolean isCenter,Integer width) { CTTc cttc = cell.getCTTc(); //文字居中 CTTcPr cellPr = cttc.addNewTcPr(); if(width != null){ cellPr.addNewTcW().setW(BigInteger.valueOf(width)); } if(isCenter){ cellPr.addNewVAlign().setVal(STVerticalJc.CENTER); cttc.getPList().get(0).addNewPPr().addNewJc().setVal(STJc.CENTER); } XWPFRun rIO = cell.addParagraph().createRun(); rIO.setFontFamily("宋体"); if(fontSize != null){ rIO.setFontSize(fontSize); }else{ rIO.setFontSize(12); } if(isBold){ rIO.setBold(true); } rIO.setText(text); // cell.setText(text); }
效果演示:
兼容wps问题(未遇到 暂存):
// 列宽自动分割 CTTblWidth tblWidth = tblPr.isSetTblW() ? tblPr.getTblW() : tblPr.addNewTblW(); //列宽自动分割 tblWidth.setW(new BigInteger("36000")); tblWidth.setType(STTblWidth.DXA); //设置合并单元格的大小 兼容wps //rowNum:合并的单元格所在行号 fromCellNum:合并的起始单元格 toCellNum:合并的结束单元格 9072:列宽总大小(我写死了9072) columnNum:表格总列数 // table.getRow(rowNum).getCell(fromCellNum).getCTTc().addNewTcPr().addNewTcW() // .setW(BigInteger.valueOf((9072 / columnNum) * (toCellNum - fromCellNum + 1))); xTable.getRow(0).getCell(4).getCTTc().addNewTcPr().addNewTcW() .setW(BigInteger.valueOf((36000 / 9) * (5 - 4 + 1)));
// XWPFRun 方法说明
//默认:宋体(wps)/等线(office2016) 5号 两端对齐 单倍间距 runX.setText("舜发于畎亩之中, 傅说举于版筑之间, 胶鬲举于鱼盐之中, 管夷吾举于士..."); runX.setBold(false);//加粗 runX.setCapitalized(false);//我也不知道这个属性做啥的 //runX.setCharacterSpacing(5);//这个属性报错 runX.setColor("BED4F1");//设置颜色--十六进制 runX.setDoubleStrikethrough(false);//双删除线 runX.setEmbossed(false);//浮雕字体----效果和印记(悬浮阴影)类似 //runX.setFontFamily("宋体");//字体 runX.setFontFamily("华文新魏", FontCharRange.cs);//字体,范围----效果不详 runX.setFontSize(14);//字体大小 runX.setImprinted(false);//印迹(悬浮阴影)---效果和浮雕类似 runX.setItalic(false);//斜体(字体倾斜) //runX.setKerning(1);//字距调整----这个好像没有效果 runX.setShadow(true);//阴影---稍微有点效果(阴影不明显) //runX.setSmallCaps(true);//小型股------效果不清楚 //runX.setStrike(true);//单删除线(废弃) runX.setStrikeThrough(false);//单删除线(新的替换Strike) //runX.setSubscript(VerticalAlign.SUBSCRIPT);//下标(吧当前这个run变成下标)---枚举 //runX.setTextPosition(5);//字体位置(效果不详) //runX.setUnderline(UnderlinePatterns.DASH_LONG);//各种类型的下划线(枚举)
-
RecyclerView Item 的分割线 距边框距离问题总结
2021-06-04 11:21:49上图分割线 在中间显示,距离左边 边距是66px 右边依然是66px。刚开始接到这个需求,感觉还阔以,挺简单的,但是在实现中 又有问题了,怎么设置 都不能距离左右 有间距,上网上查依然没有解决方案。网上有设置一个 ...哈, 首先 今天Design 提了一个需求,废话少说~~! 上图
分割线 在中间显示,距离左边 边距是66px 右边依然是66px。
刚开始接到这个需求,感觉还阔以,挺简单的,但是在实现中 又有问题了,
怎么设置 都不能距离左右 有间距,上网上查依然没有解决方案。
网上有设置一个 View 然后给这个 View 设置宽高 颜色 但是 在我这里不能用,
因为我是自定义的控件 直接继承 ViewGroup 直接用 View 会有问题 影响了滑动控件。
我的解决方案如下:
我的 item 布局 是自定义的。在不改变自定义控件前提下 加上这个间隔线。
item 布局如下非常的简单:
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="@dimen/px_100"
android:clickable="true"
app:ios="true"
app:leftSwipe="true"
app:swipeEnable="true">
//自定义的TextView
android:id="@+id/tv_word"
android:layout_width="match_parent"
android:layout_height="@dimen/px_100"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/px_14"
android:drawableLeft="@drawable/icon_search_history"
android:drawablePadding="@dimen/px_14"
android:gravity="center_vertical"
android:paddingLeft="@dimen/px_66"
android:maxEms="16"
android:singleLine="true"
android:textColor="@color/color_white_transparency_10"
android:textSize="@dimen/px_21" />
android:id="@+id/bt_del"
android:layout_width="@dimen/px_140"
android:layout_height="@dimen/px_100"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:background="@color/search_history_delete_bg"
android:gravity="center"
android:text="删除"
android:textColor="@color/color_white"
android:textSize="@dimen/px_22" />
然后再 Fragment 中 BindView 下一章会讲 很简单的一个标签。
@BindView(R.id.recycler_history)
EasyRecyclerView recyclerHistory;
recyclerHistory.addItemDecoration(getRecyclerViewDivider(R.drawable.search_history_solid));
RecyclerHistory 不用说 就是RecyclerView 历史记录。给RecyclerView每个item添加间隔线。
/**
* 获取分割线
*
* @param drawableId 分割线id
* @return
*/
public RecyclerView.ItemDecoration getRecyclerViewDivider(@DrawableRes int drawableId) {
DividerItemDecoration itemDecoration = new DividerItemDecoration(mContext, DividerItemDecoration.VERTICAL);
itemDecoration.setDrawable(ContextCompat.getDrawable(mContext, drawableId));
return itemDecoration;
}
xml 布局 如下:
android:insetLeft="66px"
android:insetRight="66px">
然后就完美解决了这个不改变 item 布局的情况下给每个 item 添加间隔线。
希望对你们有所帮助 哈哈! 虽然没有粉丝。
-
将word一分为二 如何将WORD文件一分为二
2020-12-21 07:15:293、下图就是原文件和副本文件。4、把原文件使用鼠标双击打开,选定前90页删除即可。5、然后打开副本文件,把副本文件的后四十页...如何将word里面页面一分为二,两边都能打字分栏打开Word(空白的):格式菜单——分... -
完整版面向横向源码1.rar
2020-04-03 08:51:50完整版面向横向源码1.rar -
ListView分割线
2016-08-24 13:16:12重新定义分割线Drawable的Bounds 首先,需要清楚一个事实:出现以上情况的矛盾点,是官方ListView的分割线属性不支持左右留白。所以最佳的解决方案,就是使得官方的分割线支持这种功能,这样既利于扩展,也利于... -
word2010里脚注横线如何顶格
2019-08-22 16:23:28在写论文时一些期刊要求脚注横线顶格,百度了一下没有满意的答案,自己试了不同的方法最终实现了脚注横线顶格,如下图 步骤一二: ...显示备注,将脚注显示出来 ...步骤五:若要编辑脚注横线则选中脚注里的脚注分隔符... -
Android应用性能优化系列视图篇——恼人的分割线留白解决之道
2016-08-31 16:36:38相信很多一线的开发者都遇到过分割线,作为视觉设计中的最常用的元素之一,虽然简单易画,但在布局排版中往往却起影响视图层级结构的重要作用。往往由于一道小小的分割线,不仅在layout中多个数个视图,而且容易导致... -
word里流程图的直角箭头怎么画
2021-01-14 18:46:49word里流程图的直角箭头怎么画随着科技的发展,电脑已经成为人们日常生活中必不可少的工具,当我们在使用电脑中的word2019软件进行一些文档的编写时,如果需要添加箭头的话,应如何操作呢?接下来就由小编来告诉大家... -
Word2003文档窗口分成上下两个独立的窗口
2019-09-24 03:22:29拆分窗口就是把一个Word2003文档窗口分成上下两个独立的窗口,从而可以通过两个Word2003文档窗口显示同一文档的不同部分。在Word2003文档中拆分窗口的步骤如下所述: 操作步骤 打开Word2003文档窗口,将插入点光标... -
推荐 Word、EXCEL必备工具箱
2019-09-20 09:41:3617、汇总工具→分割表格功能改进,在按“分割标志”分割的情况下,如果没有勾选“分割出的数据中保留分割标志”,则分割标志列会被隐藏(以前只是清除分割标志内容) 18、表格工具→表格→生成目录功能改进,返回... -
定义分割线Drawable的Bounds
2016-08-24 17:09:16首先,需要清楚一个事实:出现以上情况的矛盾点,是官方ListView的分割线属性不支持左右留白。所以最佳的解决方案,就是使得官方的分割线支持这种功能,这样既利于扩展,也利于提高性能。 先来简单看一下,... -
word操作技巧
2019-01-19 10:25:00word学习记录随笔 1.去除空白页 光标置于空白页,打开段落对话框,把行距设置为固定值1磅 2.插入文档的图片无法显示 选中图片使用ctrl+1可以显示图片 3.一键去除页眉横线 双击进入页眉编辑状态,使用ctrl+shift+N... -
Poi导出word的一些工具方法(添加图片,合并单元格,设置表格边框,添加分页符)
2021-03-19 09:08:58} 合并单元格 // 横向合并单元格 // 传入的参数: (哪行进行合并,开始的单元格下标,合并到哪个单元格的下标) public static void mergeCells(XWPFTableRow row, int openCell, int endCell){ //合并单元格 for (int... -
java-poi实现生成word
2022-06-02 14:20:01生成word -
matlab 车牌定位字符分割识别完整程序
2014-05-27 11:26:03适合matlab初学者,程序完整功能齐全,含字符模板,大作业,毕设可参考,欢迎下载 -
计算机应用基础Word2010文字处理操作题.doc
2021-06-28 11:50:52《计算机应用基础Word2010文字处理操作题.doc》由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关《计算机应用基础Word2010文字处理操作题.doc》文档请在天天文库搜索。1、计算机应用基础Word... -
使用freemarker导出html格式的word(调整页边距,页面视图,正常表格样式)
2021-06-12 15:14:51博主的另一篇文章改用mht模板导出了包含图片的word:https://blog.csdn.net/u011099093/article/details/85318212一、创建freemark模板首先在web項目中指定目錄下創建一個HTML格式的freemarker模板:导出html格式... -
适合小白的word基本操作
2020-06-17 18:19:08关于段落的左缩进、右缩进不再演示 2.6 将第二段进行分栏,并在中间设置分割线 分成两栏 两栏之间添加分割线 2.7 落款的格式设置 方式一,利用右对齐,若要求落款内容左对齐,则不合适 方式二,选中落款,段落... -
广场施工组织设计(DOC94页).docx
2022-01-26 15:50:24广场施工组织设计(DOC94页).docx -
word一页内容怎么分成两页打印
2021-01-14 00:34:49word一页内容怎么分成两页打印我们经常在打印时会选择把两页A4打在一张A3上,但有的时候也会需要把一张A3的内容分成两页A4来打印,那么,如何进行操作呢?下面就来看看小编的做法吧。调整页面布局-页面设置-纸张,将... -
鹏利广场D区施工组织设计.docx
2022-01-19 09:09:23鹏利广场D区施工组织设计.docx -
人力资源部绩效管理操作手册.docx
2022-01-15 03:40:24人力资源部绩效管理操作手册.docx -
深度学习目标检测综述.docx
2021-06-18 16:35:50本资源是word文档,共9765个字,包括参考文献,按照学报格式撰写,这篇文章综述了近年来基于深度学习的目标检测的最新进展,包括传统目标检测,一阶段目标检测以及两阶段目标检测的分析,还分析了在识别任务中使用的... -
word技巧
2018-03-01 21:40:22word 高效经典教程(整理版)目录一分钟驾驭word 高效经典教程(整理版)... 6A、基础知识... 61、度量单位... 62、WORD中文字字号与磅的对应关系... 63、字体文件格式... 7B、文本编辑... 71、快速移动文档... 72、... -
20091230101510513.DOC
2021-06-23 15:19:15word排版教程 -
word操作
2019-10-13 15:56:20WORD初识 键盘快捷键:文档内容的选取 word的本质是个压缩包 模板下载&模板路径 WORD选项 格式刷 限制编辑 字体 段落 查找 /替换 通配符的查找&替换 插入 绘图工具 分节符 颜色 英文的审阅 ... -
【办公】word中实现三线表(跨页,续表)
2022-04-11 22:39:34文章目录前言三线表生成一张表格设置标题和交叉引用设置三线表选中表格的全部设置边框与底纹设置跨页分割成两个表设置标题行重复 ⭐设置续表标识巧妙用文本框END 前言 在办公中,一些场景需要将普遍表格设设置为三线...