当前位置: 首页 > news >正文

计算机网站建设员网站建设拾金手指下拉十九

计算机网站建设员,网站建设拾金手指下拉十九,贸易公司如何找客户,网站设计的布局研发文档对于开发人员来说都不陌生了,而研发文档里重要的一部分就是表结构设计,需要我们在word建个表格把我们数据库中的表字段信息填进去,表多的话靠我们手动去填非常累人!!! 因此作为开发人员可不可以写…

研发文档对于开发人员来说都不陌生了,而研发文档里重要的一部分就是表结构设计,需要我们在word建个表格把我们数据库中的表字段信息填进去,表多的话靠我们手动去填非常累人!!!

因此作为开发人员可不可以写段代码,自动帮我把数据库表及字段信息封装成表格导出到word中呢?

当然可以

-- 该sql可以返回表字段信息
SHOW FULL FIELDS FROM base_user

这个sql就可以返回我们需要查的表字段信息

那思路就有了,我们把查到的信息进行封装,利用poi导出到word中

1、创建实体类接收数据库表信息

package com.javacoding.entity;import lombok.Data;@Data
public class TableStruct {private String field;private String type;private String comment;
}

2、接口实现

@GetMapping("/dbtable")
public void dbTableExport(HttpServletResponse response) {poiTestService.export(response);
}
public void export(HttpServletResponse response) {try {response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");response.setCharacterEncoding("utf-8");String fileName = URLEncoder.encode("表结构注释说明" + LocalDate.now().toString(), "UTF-8").replaceAll("\\+", "%20");response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".docx");// 创建文档XWPFDocument document = new XWPFDocument();//设置标题XWPFStyles styles = document.createStyles();String heading1StyleId = "heading1";addCustomHeadingStyle(styles, heading1StyleId, "标题 1", 1);// 需要导出的表名List<String> tables = new ArrayList<>();tables.addAll(Arrays.asList("base_user"));tables.forEach(temp -> {//生成标题XWPFParagraph title1Paragraph = document.createParagraph();title1Paragraph.setStyle(heading1StyleId);XWPFRun title1Run = title1Paragraph.createRun();title1Run.setText(temp);//生成表头List<TableStruct> tableInfo = poiTestMapper.getTableInfo(temp);XWPFTable table = document.createTable(tableInfo.size() + 1, 3);table.setWidth("100%");table.getRow(0).getCell(0).setText("字段名称");table.getRow(0).getCell(1).setText("字段类型");table.getRow(0).getCell(2).setText("字段描述");//生成表内容  第0行已经设置为表头,因此我们需要从第一行开始for (int row = 0; row < tableInfo.size(); row++) {table.getRow(row + 1).getCell(0).setText(tableInfo.get(row).getField());table.getRow(row + 1).getCell(1).setText(tableInfo.get(row).getType());table.getRow(row + 1).getCell(2).setText(tableInfo.get(row).getComment());}});ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();document.write(byteArrayOutputStream);ServletOutputStream outputStream = response.getOutputStream();outputStream.write(byteArrayOutputStream.toByteArray());outputStream.flush();outputStream.close();document.close();} catch (Exception e) {e.printStackTrace();}
}private static void addCustomHeadingStyle(XWPFStyles styles, String styleId, String styleName, int headingLevel) {CTStyle ctStyle = CTStyle.Factory.newInstance();ctStyle.setStyleId(styleId);CTString styleNameString = CTString.Factory.newInstance();styleNameString.setVal(styleName);ctStyle.setName(styleNameString);CTDecimalNumber indentNumber = CTDecimalNumber.Factory.newInstance();indentNumber.setVal(BigInteger.valueOf(headingLevel));CTPPr ppr = CTPPr.Factory.newInstance();ppr.setOutlineLvl(indentNumber);ctStyle.setPPr(ppr);XWPFStyle style = new XWPFStyle(ctStyle);styles.addStyle(style);
}

上述代码我只导出了三个字段,如果需要其他字段按照逻辑自行添加即可。

看下效果图:

OK,打完收工!!!

http://www.yayakq.cn/news/541622/

相关文章:

  • 做的网站必须放东莞建设质监网站
  • C语言开发网站开发语言佛山市平台购物网站制作公司
  • 南京网站搜索排名使用WordPress默认主题
  • 免费建立单位的网站网站服务器备案查询
  • 北京网站设计制作费用使用asp.net制作网站的整体过程
  • 龙岗做网站的公司建设公司的网站首页
  • 电商类网站有几个主流程网站推广公司需要多少钱
  • 替朋友做网站西樵网站制作
  • 在电脑上怎么建设网站哪个网站的体验做的最好
  • 网站制作行业小语种外贸网站建设
  • 广州网站设计提供商深圳网站专业建设公司
  • 目录网站模板简易的在线数据库网站模板下载
  • 高端网站开发平台临海做网站
  • 在线做动漫图的网站上海住房城乡建设部网站
  • 网站ico设计枣庄市住房和建设局网站
  • html5网站是用什么软件做的吗wordpress 补丁
  • 山东建设主管部门网站哈尔滨专业的建站报价
  • 国内外网站开发技术重庆网站设计开发培训
  • 做一个简单网站多少钱网页设计布局图
  • 西安自适应网站建设wordpress时间函数
  • 做特产网站wordpress 模板 破解版
  • 金华网站建设方案优化乐陵seo网站
  • 专业做网站 上海代理商加盟
  • 接收新网站如何做诊断外汇平台 网站开发
  • 网站流量统计系统wordpress添加子主题
  • 河南平安建设网站棋牌源码资源网
  • 公司网站建设怎么做wordpress qq相册插件
  • 哈尔滨网站搜索优化wordpress的标题字怎么变
  • 一台服务器做两个网站吗微信网站如何制作
  • 动易网站系统百度seo排名优化软件化