位置: 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固定链接自动翻译成英文

  • 荣耀x20怎么拦截骚扰电话(荣耀x20怎么拦截陌生号码)

    荣耀x20怎么拦截骚扰电话(荣耀x20怎么拦截陌生号码)

  • 真我gtneo2t中框材质(realme真我gt中框)

    真我gtneo2t中框材质(realme真我gt中框)

  • 淘宝省钱卡怎么开通(淘宝省钱卡怎么关闭自动续费)

    淘宝省钱卡怎么开通(淘宝省钱卡怎么关闭自动续费)

  • 微信朋友圈广告评论是自动评论的吗(微信朋友圈广告怎么关闭不了)

    微信朋友圈广告评论是自动评论的吗(微信朋友圈广告怎么关闭不了)

  • iphone6sp右上角发热(iphone6右上角发热严重)

    iphone6sp右上角发热(iphone6右上角发热严重)

  • WPS中word无法复制粘贴怎么回事(wps中word无法复制粘贴)

    WPS中word无法复制粘贴怎么回事(wps中word无法复制粘贴)

  • 数据仓库有哪五层架构(数据仓库主要功能)

    数据仓库有哪五层架构(数据仓库主要功能)

  • 照片png是什么格式(图片png是什么格式)

    照片png是什么格式(图片png是什么格式)

  • 芯片组驱动作用是什么(芯片组驱动是干什么的)

    芯片组驱动作用是什么(芯片组驱动是干什么的)

  • 亲情关怀会被看隐私吗(亲情关怀可以看到对方什么)

    亲情关怀会被看隐私吗(亲情关怀可以看到对方什么)

  • 小红书怎么增加浏览量(小红书怎么增加流量)

    小红书怎么增加浏览量(小红书怎么增加流量)

  • 电脑一直在响怎么回事(电脑一直在响怎么解决)

    电脑一直在响怎么回事(电脑一直在响怎么解决)

  • 手机摔过对手机什么坏处(手机摔了会不会影响手机使用)

    手机摔过对手机什么坏处(手机摔了会不会影响手机使用)

  • 微型计算机内存储器是(微型计算机内存容量的大小一般是指)

    微型计算机内存储器是(微型计算机内存容量的大小一般是指)

  • 1000gb等于多少t(1000gb等于多少kb)

    1000gb等于多少t(1000gb等于多少kb)

  • 华为mate30第一次充电多长时间(华为mate30第一次充电需要注意什么)

    华为mate30第一次充电多长时间(华为mate30第一次充电需要注意什么)

  • 苹果直营店装系统要钱吗(苹果直营店装系统要多久)

    苹果直营店装系统要钱吗(苹果直营店装系统要多久)

  • 南航飞机wifi怎么用(南航飞机wifi怎么连接)

    南航飞机wifi怎么用(南航飞机wifi怎么连接)

  • 拼多多下单时能备注吗(拼多多下单时能开发票吗)

    拼多多下单时能备注吗(拼多多下单时能开发票吗)

  • 苹果显示此时无法下载app(苹果显示此时无法创建您的账户是什么意思)

    苹果显示此时无法下载app(苹果显示此时无法创建您的账户是什么意思)

  • 闲聊零钱账单怎么删除(闲聊零钱账户被冻结怎么办)

    闲聊零钱账单怎么删除(闲聊零钱账户被冻结怎么办)

  • WAN口有IP地址上不了网,怎么办?(wan口ip地址和lan口ip地址不能)

    WAN口有IP地址上不了网,怎么办?(wan口ip地址和lan口ip地址不能)

  • 最多下载量的浏览器是什么(浏览器下载量排名第一的是)

    最多下载量的浏览器是什么(浏览器下载量排名第一的是)

  • 加拿大猞猁,蒙大拿州 (© Alan and Sandy Carey/Minden Pictures)(加拿大猞猁雪兔)

    加拿大猞猁,蒙大拿州 (© Alan and Sandy Carey/Minden Pictures)(加拿大猞猁雪兔)

  • 异地存货怎么审计
  • 退税现金流量表做哪里
  • 个人所得税手续费返还要交企业所得税吗
  • 建筑安装增值税纳税地点
  • 收到原材料发票的会计分录
  • 公司费用票
  • 企业如何提供准确的会计信息
  • 财务费用利息收入在贷方表示什么
  • 公司内控制度由谁制定
  • 工资中事假扣款执行依据
  • 新办商贸企业一般纳税人合同金额
  • 生产事故造成怎么样赔付
  • 餐费可以入成本吗
  • 一次性奖励随工资发
  • 财政拨款进项税怎么处理
  • 商品编码选错税务会直接罚款吗?
  • 国家税务总局2016年公告
  • 补缴企业所得税汇算清缴会计分录怎么做
  • 食堂费用计入应付职工薪酬吗
  • 小微 小型微利
  • 合并报表的所得税税率
  • 公司用库存商品怎么做账
  • 腾讯电脑管家怎么修复dll
  • linux内核有什么作用
  • 住房补贴缴纳比例是多少
  • 超市预售卡怎么记账
  • qbdagent2002.exe - qbdagent2002是什么进程 有什么用
  • 押金收不回的会计分录
  • Win10 1809 17763.2268 更新发布:附更新修复内容汇总
  • pytorch复制模型
  • kafka图形化界面
  • 一点分享案例
  • vue项目如何启动运行
  • thinkphp入口文件
  • 代销手续费的税率
  • 企业有外币账户怎样做账
  • 企业从政府部门辞职流程
  • 帝国cms如何使用
  • 给对方开发票需要
  • 生产型出口企业的概念
  • 定额的个体户怎么交税
  • 货物运输服务可以加计扣除吗
  • 企业所得税研发费用如何加计扣除?
  • 应交增值税进项税额
  • 出售专利技术收增值税吗
  • 小规模纳税人会自动转为一般纳税人
  • 企业信息联网核查系统的意义
  • 交易性金融资产的账务处理
  • 个税手续费返还比例
  • 为什么小规模不可以收专票
  • 合作经营利润分配协议
  • 补缴社保的利息会进入个人账户里吗
  • 子公司注销母公司长投账务处理
  • 企业职工福利费使用范围和标准
  • 确认代销手续费怎么做账
  • 可供出售金融资产是指什么
  • 公司中征码是什么样子的
  • 某项租赁合同,租赁期为8年,每年年末支付租金100万
  • 现金折扣与商业折扣的计算
  • 营业收入的核算内容包括
  • linux wget命令详解
  • freebsd中文手册
  • 安装freebsd
  • vmware 错误
  • 写出10个linux系统操作命令和用法
  • centos nis
  • mac配置selenium
  • linux怎么使用无线网卡
  • mac系统怎么设置字体大小
  • win7系统如何调节屏幕亮度
  • win10语音控制电脑
  • 打开应用通知栏
  • 安装运行windows
  • javascript基于
  • 怎样设置安卓等比例显示按钮
  • javascript给表单赋值
  • Python 正则表达式的高级用法
  • unity3d从入门到精通
  • 置顶是怎么弄的
  • 会计开票要填哪些信息
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设