位置: IT常识 - 正文

Java导出带格式的Excel数据到Word表格(java如何导出)

编辑:rootadmin
在Word中创建报告时,我们经常会遇到这样的情况:我们需要将数据从Excel中复制和粘贴到Word中,这样读者就可以直接在Word中浏览数据,而不用打开Excel文档 ... 前言

推荐整理分享Java导出带格式的Excel数据到Word表格(java如何导出),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:java文件导出功能,导出javadoc,java导出数据到word,java中导出到excel是怎么实现的,java中导出到excel是怎么实现的,java导出excel设置单元格格式,java导出excel设置单元格格式,java文件导出功能,内容如对您有帮助,希望把文章链接给更多的朋友!

在Word中创建报告时,我们经常会遇到这样的情况:我们需要将数据从Excel中复制和粘贴到Word中,这样读者就可以直接在Word中浏览数据,而不用打开Excel文档。在本文中,您将学习如何使用Spire.Office for Java将Excel数据转换为Word表格并保留格式。

程序环境安装Spire.Office for JavaJava导出带格式的Excel数据到Word表格(java如何导出)

首先,你需要在你的Java程序中添加Spire.Office.jar文件作为一个依赖项。该JAR文件可以从这个链接下载。如果你使用Maven,你可以通过在项目的pom.xml文件中添加以下代码,在你的应用程序中轻松导入该JAR文件。

点击查看代码<repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url> https://repo.e-iceblue.cn/repository/maven-public/</url> </repository></repositories><dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.office</artifactId> <version>7.9.6</version> </dependency></dependencies>

小tips:请注意版本号的变化

将带格式的Excel数据导出到Word表格步骤

创建一个Workbook对象,并使用Workbook.loadFromFile()方法加载一个Excel样本文件。•使用Workbook.getWorksheets().get()方法获取一个特定的工作表。•创建一个Document对象,并向其添加一个章节。•使用Section.addTable()方法添加一个表格。•检测工作表中的合并单元格,并使用自定义方法mergeCells()合并Word tale中的相应单元格。•使用CellRange.getValue() 方法获取特定Excel单元格的值,并使用TableCell.addParagraph().appendText()方法将其添加到Word表中的一个单元格。•使用自定义方法copyStyle()将字体样式和单元格样式从Excel复制到Word表格中。•使用Document.saveToFile()方法将文档保存到Word文件中。

代码示例点击查看代码import com.spire.doc.*;import com.spire.doc.FileFormat;import com.spire.doc.documents.HorizontalAlignment;import com.spire.doc.documents.PageOrientation;import com.spire.doc.documents.VerticalAlignment;import com.spire.doc.fields.TextRange;import com.spire.xls.*;public class ExportExcelToWord { public static void main(String[] args) { //下载一个Excel文件 Workbook workbook = new Workbook(); workbook.loadFromFile("C:/Users/Administrator/Desktop/sample.xlsx"); //得到第一张工作表 Worksheet sheet = workbook.getWorksheets().get(0); //创建一个Word文档 Document doc = new Document(); Section section = doc.addSection(); section.getPageSetup().setOrientation(PageOrientation.Landscape); //添加一个表格 Table table = section.addTable(true); table.resetCells(sheet.getLastRow(), sheet.getLastColumn()); //合并单元格 mergeCells(sheet, table); for (int r = 1; r <= sheet.getLastRow(); r++) { //设置行高 table.getRows().get(r - 1).setHeight((float) sheet.getRowHeight(r)); for (int c = 1; c <= sheet.getLastColumn(); c++) { CellRange xCell = sheet.getCellRange(r, c); TableCell wCell = table.get(r - 1, c - 1); //获得特定Excel单元格的值并将其添加到Word表格单元格 TextRange textRange = wCell.addParagraph().appendText(xCell.getValue()); // 从Excel复制字体和单元格样式到Word copyStyle(textRange, xCell, wCell); } } //Save the document to a Word file保存文档为Word文件 doc.saveToFile("ExportToWord.docx", FileFormat.Docx); } //如果有合并的区域,则合并单元格 private static void mergeCells(Worksheet sheet, Table table) { if (sheet.hasMergedCells()) { //从Excel中获取合并的单元格范围 CellRange[] ranges = sheet.getMergedCells(); for (int i = 0; i < ranges.length; i++) { int startRow = ranges[i].getRow(); int startColumn = ranges[i].getColumn(); int rowCount = ranges[i].getRowCount(); int columnCount = ranges[i].getColumnCount(); //合并Word表格中的对应单元格 if (rowCount > 1 && columnCount > 1) { for (int j = startRow; j <= startRow + rowCount ; j++) { table.applyHorizontalMerge(j - 1, startColumn - 1, startColumn - 1 + columnCount - 1); } table.applyVerticalMerge(startColumn - 1, startRow - 1, startRow - 1 + rowCount - 1 ); } if (rowCount > 1 && columnCount == 1 ) { table.applyVerticalMerge(startColumn - 1, startRow - 1, startRow - 1 + rowCount - 1); } if (columnCount > 1 && rowCount == 1 ) { table.applyHorizontalMerge(startRow - 1, startColumn - 1, startColumn - 1 + columnCount-1); } } } } //复制Excel单元格样式到Word表格 private static void copyStyle(TextRange wTextRange, CellRange xCell, TableCell wCell) { //复制字体样式 wTextRange.getCharacterFormat().setTextColor(xCell.getStyle().getFont().getColor()); wTextRange.getCharacterFormat().setFontSize((float) xCell.getStyle().getFont().getSize()); wTextRange.getCharacterFormat().setFontName(xCell.getStyle().getFont().getFontName()); wTextRange.getCharacterFormat().setBold(xCell.getStyle().getFont().isBold()); wTextRange.getCharacterFormat().setItalic(xCell.getStyle().getFont().isItalic()); //复制背景色 wCell.getCellFormat().setBackColor(xCell.getStyle().getColor()); //复制水平对齐方式 switch (xCell.getHorizontalAlignment()) { case Left: wTextRange.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Left); break; case Center: wTextRange.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); break; case Right: wTextRange.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Right); break; } //复制垂直对齐方式 switch (xCell.getVerticalAlignment()) { case Bottom: wCell.getCellFormat().setVerticalAlignment(VerticalAlignment.Bottom); break; case Center: wCell.getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); break; case Top: wCell.getCellFormat().setVerticalAlignment(VerticalAlignment.Top); break; } }}效果图

---THE END---

本文链接地址:https://www.jiuchutong.com/zhishi/310756.html 转载请保留说明!

上一篇:java线程执行的两种情况(java线程的执行体)

下一篇:Simple Slug Translate 把WordPress固定链接自动翻译成英文

  • 苹果13pro屏幕分辨率(iphone13pro分屏)

    苹果13pro屏幕分辨率(iphone13pro分屏)

  • 淘宝交易记录怎么删除(淘宝交易记录怎么查支付记录)

    淘宝交易记录怎么删除(淘宝交易记录怎么查支付记录)

  • vivox30死机之后的解决办法(vivo手机死机了咋办?)

    vivox30死机之后的解决办法(vivo手机死机了咋办?)

  • 微信消息提示音怎么改(微信消息提示音可以单独设置吗)

    微信消息提示音怎么改(微信消息提示音可以单独设置吗)

  • 苹果x换电池有影响吗(苹果X换电池有提示吗)

    苹果x换电池有影响吗(苹果X换电池有提示吗)

  • 手机号码可以异地注销吗(手机号码可以异地注销吗移动)

    手机号码可以异地注销吗(手机号码可以异地注销吗移动)

  • 手机跳屏是内屏坏了吗(手机跳屏是内屏吗)

    手机跳屏是内屏坏了吗(手机跳屏是内屏吗)

  • 计算机病毒是一种特殊的什么(计算机病毒是一种能把自身精确拷贝或有修改)

    计算机病毒是一种特殊的什么(计算机病毒是一种能把自身精确拷贝或有修改)

  • 手机信号上的hd可关吗(手机信号上的hd2代表什么意思)

    手机信号上的hd可关吗(手机信号上的hd2代表什么意思)

  • 韩版苹果x基带是什么的(韩版苹果7基带)

    韩版苹果x基带是什么的(韩版苹果7基带)

  • 华为荣耀9x是快充吗(荣耀9x是快速充电吗)

    华为荣耀9x是快充吗(荣耀9x是快速充电吗)

  • 华为nave5pro如何分屏

    华为nave5pro如何分屏

  • 芒果tv怎么用账号登录(芒果tv怎么用账号密码登录)

    芒果tv怎么用账号登录(芒果tv怎么用账号密码登录)

  • cpnal00是什么型号(cpnal00参数)

    cpnal00是什么型号(cpnal00参数)

  • 华为mate30系统是鸿蒙吗(华为mate30的系统)

    华为mate30系统是鸿蒙吗(华为mate30的系统)

  • 课堂派可以远程签到么(课堂派可以远程控制吗)

    课堂派可以远程签到么(课堂派可以远程控制吗)

  • iphone11发布时间(iphone11系列)

    iphone11发布时间(iphone11系列)

  • oppo手机怎么打开网络(oppo手机怎么打开高清通话功能)

    oppo手机怎么打开网络(oppo手机怎么打开高清通话功能)

  • 怎么取消uc网盘会员自动续费(怎么取消uc网盘连续包月)

    怎么取消uc网盘会员自动续费(怎么取消uc网盘连续包月)

  • oppor15跟r15x的区别(oppor15x跟r15哪个好)

    oppor15跟r15x的区别(oppor15x跟r15哪个好)

  • word图片上的字怎么去掉(word图片上的字怎么复制)

    word图片上的字怎么去掉(word图片上的字怎么复制)

  • 适合办公的平板(适合办公的平板电脑排名)

    适合办公的平板(适合办公的平板电脑排名)

  • 西瓜视频如何直播游戏(西瓜视频如何直播)

    西瓜视频如何直播游戏(西瓜视频如何直播)

  • 脉脉如何不让别人看到(脉脉如何不让本单位的人看到)

    脉脉如何不让别人看到(脉脉如何不让本单位的人看到)

  • MacOS如何设置邮件账号?(mac设置邮件)

    MacOS如何设置邮件账号?(mac设置邮件)

  • Yolov5/Yolov7加入Yolov8 c2f模块,涨点(yolov教程)

    Yolov5/Yolov7加入Yolov8 c2f模块,涨点(yolov教程)

  • 车辆购置税会计科目怎么做账
  • 契税通过应交税费
  • 固定资产盘亏计入什么科目
  • 个税上个月没报下个月累计会怎么样
  • 个税扣除项生效日期
  • 预付的房租计入什么费用
  • 建行分期通
  • 成品油购进数据未同步怎么办
  • 开出银行汇票支付手续费
  • 收取加盟费如何交税
  • 去年多做销售费用今年冲回该如何做会计分录?
  • 2021年洗车是不是免增值税
  • 企业自用房要交契税吗
  • 厦门年收入30万人数
  • 企业向个人赠送车辆
  • 滞纳金属于罚没支出还是其他
  • 正确解读《非居民金融账户涉税信息尽职调查管理办法》
  • 股东分红纳入社会保险吗
  • 质量扣款不开票怎么处理
  • 现代服务促销服务费的经营范围
  • 企业报税网上申报
  • 转账户有误退回会计处理
  • 电子发票跨月怎么开红字发票
  • 2019年化妆品
  • 营改增后挂靠工程会计分录具体怎么做?
  • 勒索病毒文件怎么恢复
  • 开红字发票后再开蓝字发票应如何入账?
  • PHP CURL CURLOPT参数说明(curl_setopt)
  • 一般纳税人购进农产品如何抵扣进项税额
  • rtmservice.exe - rtmservice是什么进程 有什么用
  • 超过两年的发票还可以查询吗
  • 发票已开不符合收入确认条件账务处理怎么做?
  • 固定资产付款流程
  • 塞巴斯蒂安电影 豆瓣
  • 比利时的平菇能吃吗
  • php实现文件上传下载
  • thinkphp cli
  • php中的九大缓存技术
  • emerge命令
  • 小规模如何申报增值税
  • 往来款怎么做账
  • 取得企业债券利息
  • c语言realloc函数的用法
  • 商场收取租金如何入账
  • 外汇增值税是怎样计算
  • 短期借款可以用于在建工程吗
  • 外购的商品赠送客人是否销售吗
  • 库存商品盘亏计哪个科目
  • 生产成本人工费结转
  • 确认应付职工薪酬如何计算
  • 往来核算是指会计核算中的资金往来业务
  • 印花税需要计提吗2023
  • 库存商品的成本
  • 企业代理社保
  • 简述公司利润分配的程序
  • Win2008 Server Core如何操作?5个步骤学会Win2008 Server Core操作
  • 苹果mac 最新系统
  • 怎么美化ppt
  • linux如何拨号
  • win10系统设备管理器没有蓝牙
  • 怎样彻底关闭win11安全中心
  • SPBBCSvc.exe - SPBBCSvc进程是什么文件 有什么作用
  • 怎么知道游戏是什么引擎
  • win8打开ie
  • mac设置在哪里设置
  • linux无法使用ls
  • win8怎么设置时间自动更新
  • win8.1系统要求配置
  • linux定时任务详解
  • 怎样用在js中使用css的内容
  • js表单验证实例怎么写
  • js使用正则表达式对json对象的校验
  • javascript:void(0)点击登录没反应怎么解决
  • python flask 路由
  • 浙江通用电子发票查不到
  • 贵州省地方税务局历任纪检组长马平
  • 中通快递深圳同城多少钱
  • 地税局属于省直单位吗
  • 中国税务网官网1732171695993732.2418.61431871
  • 铜川财务
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设