{"id":10020769,"date":"2025-04-27T00:45:34","date_gmt":"2025-04-26T16:45:34","guid":{"rendered":"https:\/\/itmax.cn\/?p=10020769"},"modified":"2025-04-27T00:45:34","modified_gmt":"2025-04-26T16:45:34","slug":"java%e9%ab%98%e6%95%88%e5%88%86%e5%89%b2excel%e5%b7%a5%e4%bd%9c%e8%a1%a8%e5%85%a8%e6%94%bb%e7%95%a5%ef%bc%9agcexcel%e8%ae%a9%e6%95%b0%e6%8d%ae%e7%ae%a1%e7%90%86%e6%9b%b4%e6%99%ba%e8%83%bd","status":"publish","type":"post","link":"https:\/\/itmax.cn\/?p=10020769","title":{"rendered":"Java\u9ad8\u6548\u5206\u5272Excel\u5de5\u4f5c\u8868\u5168\u653b\u7565\uff1aGcExcel\u8ba9\u6570\u636e\u7ba1\u7406\u66f4\u667a\u80fd"},"content":{"rendered":"<h2>\u524d\u8a00\uff1a\u4e3a\u4ec0\u4e48\u9700\u8981\u4e13\u4e1a\u5316\u7684Excel\u5206\u5272\uff1f<\/h2>\n<p>\u5728\u5f53\u4eca\u6570\u636e\u9a71\u52a8\u7684\u5546\u4e1a\u73af\u5883\u4e2d\uff0cExcel\u6587\u4ef6\u5df2\u6210\u4e3a\u4f01\u4e1a\u8fd0\u8425\u7684\u6838\u5fc3\u8f7d\u4f53\u3002\u6839\u636e2023\u5e74\u4f01\u4e1a\u6570\u636e\u7ba1\u7406\u8c03\u7814\u62a5\u544a\u663e\u793a\uff1a<\/p>\n<p>78%\u7684\u4f01\u4e1a\u4f7f\u7528\u591a\u5de5\u4f5c\u8868Excel\u6587\u4ef6\u5b58\u50a8\u5173\u8054\u6570\u636e<\/p>\n<p>56%\u7684\u6570\u636e\u6cc4\u9732\u4e8b\u4ef6\u6e90\u4e8e\u4e0d\u6070\u5f53\u7684Excel\u5171\u4eab\u65b9\u5f0f<\/p>\n<p>\u91c7\u7528\u81ea\u52a8\u5316\u5206\u5272\u65b9\u6848\u53ef\u964d\u4f4e90%\u7684\u6570\u636e\u7ba1\u7406\u9519\u8bef\u7387<\/p>\n<p>\u672c\u6587\u5c06\u57fa\u4e8e<a href=\"https:\/\/link.segmentfault.com\/?enc=Vjh8i4kzBkcLDPt8ct%2B34w%3D%3D.sgeQWJhtZxbzFPon5KgrpiMXpYQAuX0P%2BCf9b3B%2BynWt%2FuHse8dIRUwpNwu7pviwpTphyvSknMpRXtKDA58N6Nf7OoF1xJ%2Fayj0fCSSMRNo%3D\" rel=\"nofollow noopener noreferrer\" target=\"_blank\">\u8461\u8404\u57ceGcExcel\u7ec4\u4ef6<\/a>\uff0c\u6df1\u5165\u89e3\u6790\u56db\u79cd\u4e13\u4e1a\u7ea7Excel\u5206\u5272\u65b9\u6848\uff0c\u52a9\u60a8\u6784\u5efa\u5b89\u5168\u9ad8\u6548\u7684\u6570\u636e\u7ba1\u7406\u4f53\u7cfb\u3002<\/p>\n<p>\u573a\u666f1\uff1a\u6309\u90e8\u95e8\u5206\u53d1\u62a5\u8868<br \/><img decoding=\"async\"   referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000046468400\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" title=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\"><br \/>\u6570\u636e\u5b89\u5168\u4f18\u52bf\uff1a\u5b9e\u73b0\u6700\u5c0f\u6743\u9650\u539f\u5219\uff0c\u907f\u514d\u654f\u611f\u4fe1\u606f\u6cc4\u9732<\/p>\n<p>\u573a\u666f2\uff1a\u5386\u53f2\u6570\u636e\u5f52\u6863<br \/><img decoding=\"async\"   referrerpolicy=\"no-referrer\" src=\"https:\/\/segmentfault.com\/img\/remote\/1460000046468401\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" title=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" loading=\"lazy\"><br \/>\u7ba1\u7406\u4ef7\u503c\uff1a\u4f18\u5316\u6587\u4ef6\u4f53\u79ef\uff0c\u63d0\u5347\u8bbf\u95ee\u6548\u7387<\/p>\n<h2>GcExcel\u56db\u5927\u5206\u5272\u65b9\u6848\u8be6\u89e3<\/h2>\n<p>\u65b9\u68481\uff1a\u7cbe\u51c6\u590d\u5236\u5f0f\u5206\u5272\uff08\u63a8\u8350\u65b9\u6848\uff09<\/p>\n<pre><code class=\"java\">import com.grapecity.documents.excel.*;\n\npublic class ExcelSplitter {\n    public static void main(String[] args) {\n        \/\/ \u52a0\u8f7d\u6e90\u6587\u4ef6\uff08\u652f\u6301xlsx\/xls\/csv\u7b49\u683c\u5f0f\uff09\n        Workbook source = new Workbook();\n        source.open(&quot;sales_report.xlsx&quot;);\n        \n        \/\/ \u667a\u80fd\u5206\u5272\u5904\u7406\n        for (IWorksheet sheet : source.getWorksheets()) {\n            \/\/ \u521b\u5efa\u76ee\u6807\u5de5\u4f5c\u7c3f\uff08\u81ea\u52a8\u5185\u5b58\u4f18\u5316\uff09\n            Workbook target = new Workbook();\n            \n            \/\/ \u6df1\u5ea6\u590d\u5236\uff08\u4fdd\u7559\u516c\u5f0f\u3001\u683c\u5f0f\u3001\u6570\u636e\u9a8c\u8bc1\uff09\n            sheet.copy(target.getWorksheets().get(0));\n            \n            \/\/ \u81ea\u52a8\u547d\u540d\u5e76\u4fdd\u5b58\n            String safeName = sheet.getName()\n                .replace(&quot;\/&quot;, &quot;-&quot;)\n                .replace(&quot;\/\/&quot;, &quot;-&quot;);\n            target.save(safeName + &quot;.xlsx&quot;);\n        }\n    }\n}<\/code><\/pre>\n<p>\u65b9\u68482\uff1a\u79fb\u52a8\u5f0f\u5206\u5272\uff08\u9ad8\u6027\u80fd\u65b9\u6848\uff09<\/p>\n<pre><code class=\"java\">\/\/ \u9002\u7528\u4e8e\u8d85\u5927\u578b\u6587\u4ef6\u5904\u7406\nWorkbook source = new Workbook();\nsource.open(&quot;big_data.xlsx&quot;);\n\nwhile(source.getWorksheets().getCount() &gt; 1) {\n    Workbook target = new Workbook();\n    \/\/ \u79fb\u52a8\u800c\u975e\u590d\u5236\uff08\u51cf\u5c11\u5185\u5b58\u6d88\u8017\uff09\n    source.getWorksheets().get(0).move(target.getWorksheets().get(0));\n    target.save(&quot;split_&quot; + System.currentTimeMillis() + &quot;.xlsx&quot;);\n}<\/code><\/pre>\n<p>\u65b9\u68483\uff1a\u9009\u62e9\u6027\u5206\u5272\uff08\u6570\u636e\u8fc7\u6ee4\uff09<\/p>\n<pre><code class=\"java\">\/\/ \u6dfb\u52a0\u6761\u4ef6\u5224\u65ad\nif(sheet.getName().contains(&quot;\u673a\u5bc6&quot;)) {\n    continue; \/\/ \u8df3\u8fc7\u654f\u611f\u5de5\u4f5c\u8868\n}<\/code><\/pre>\n<p>\u65b9\u68484\uff1a\u591a\u683c\u5f0f\u8f93\u51fa<\/p>\n<pre><code class=\"java\">\/\/ \u540c\u65f6\u751f\u6210\u591a\u79cd\u683c\u5f0f\ntarget.save(sheet.getName() + &quot;.xlsx&quot;);\ntarget.save(sheet.getName() + &quot;.pdf&quot;); \/\/ \u9002\u5408\u53ea\u8bfb\u5206\u53d1\ntarget.save(sheet.getName() + &quot;.html&quot;); \/\/ \u7f51\u9875\u9884\u89c8<\/code><\/pre>\n<p>\u4e09\u3001\u4f01\u4e1a\u7ea7\u529f\u80fd\u6269\u5c55<\/p>\n<ol>\n<li>\u81ea\u52a8\u5ba1\u8ba1\u8ffd\u8e2a<\/li>\n<\/ol>\n<pre><code class=\"java\">\/\/ \u6dfb\u52a0\u5143\u6570\u636e\u8bb0\u5f55\ntarget.getCustomDocumentProperties().add(\n    &quot;\u5206\u5272\u6765\u6e90&quot;, \n    source.getFullName() + &quot;|&quot; + sheet.getName()\n);<\/code><\/pre>\n<ol start=\"2\">\n<li>\u5b89\u5168\u52a0\u5bc6<\/li>\n<\/ol>\n<pre><code class=\"java\">\/\/ \u8bbe\u7f6e\u5bc6\u7801\u4fdd\u62a4\ntarget.save(sheet.getName() + &quot;.xlsx&quot;, \n    new SaveOptions(){{\n        setPassword(&quot;P@ssw0rd&quot;);\n    }}\n);<\/code><\/pre>\n<ol start=\"3\">\n<li>\u4e91\u5b58\u50a8\u96c6\u6210<\/li>\n<\/ol>\n<pre><code class=\"java\">\/\/ \u76f4\u63a5\u4fdd\u5b58\u5230AWS S3\ntarget.saveToCloud(&quot;s3:\/\/bucket\/&quot; + sheet.getName() + &quot;.xlsx&quot;);<\/code><\/pre>\n<h2>\u4e3a\u4ec0\u4e48\u9009\u62e9GcExcel\uff1f<\/h2>\n<p>-\u81ea\u52a8\u6e05\u9664\u4e34\u65f6\u6587\u4ef6<\/p>\n<ul>\n<li>\u667a\u80fd\u5904\u7406<\/li>\n<li><a href=\"https:\/\/link.segmentfault.com\/?enc=M%2FPwRNQcIvJQru4zE860CQ%3D%3D.bd1fm728YQkyzMuNiCCRXKG4cQ6zXgN6OUiFW6UzAuzVkklXjo8bZOafIP%2FUEtFzSD1GeyTWCmNcrKOQwMvODQ0ke9gfThy2BvkgnsJFja4%3D\" rel=\"nofollow noopener noreferrer\" target=\"_blank\">\u4e0eSpreadJS\u6784\u6210\u5168\u6808\u89e3\u51b3\u65b9\u6848<\/a><\/li>\n<li><a href=\"https:\/\/link.segmentfault.com\/?enc=OmIUagPivsjtO3Iassibqg%3D%3D.ifGBcsB%2FSdoh6OinJDb5FQFfn%2FI324ZH9mOnrmhgwOHNYftKY0dakCVdGgyehMo34wKuGOAQYOPVhwp5MI%2F9o7mKcPDzaMhlFyLkXO3888oo1jGoRKxxvHXWO2IBMHRT\" rel=\"nofollow noopener noreferrer\" target=\"_blank\">\u4e2d\u6587\u6280\u672f\u6587\u6863<\/a><\/li>\n<li><a href=\"https:\/\/link.segmentfault.com\/?enc=NihGeVkYRPx%2Fmji2OiOLGA%3D%3D.DDkVuxUq9OFs9ryeEhPdkJwlhTly0qVSOGeeECsuf8bl3ktA4mot0f59segxyIuy\" rel=\"nofollow noopener noreferrer\" target=\"_blank\">\u672c\u5730\u5316\u6280\u672f\u652f\u6301\u56e2\u961f<\/a><\/li>\n<\/ul>\n<p><a href=\"https:\/\/segmentfault.com\/a\/1190000046468398\">https:\/\/segmentfault.com\/a\/1190000046468398<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u524d\u8a00\uff1a\u4e3a\u4ec0\u4e48\u9700\u8981\u4e13\u4e1a\u5316\u7684Excel\u5206\u5272\uff1f \u5728\u5f53\u4eca\u6570\u636e\u9a71\u52a8\u7684\u5546\u4e1a\u73af\u5883\u4e2d\uff0cExcel\u6587\u4ef6\u5df2\u6210\u4e3a\u4f01\u4e1a\u8fd0\u8425\u7684\u6838\u5fc3\u8f7d\u4f53\u3002 [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-10020769","post","type-post","status-publish","format-standard","hentry","category-share"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/posts\/10020769","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10020769"}],"version-history":[{"count":0,"href":"https:\/\/itmax.cn\/index.php?rest_route=\/wp\/v2\/posts\/10020769\/revisions"}],"wp:attachment":[{"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10020769"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10020769"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itmax.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10020769"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}