{"id":3011,"date":"2023-07-17T15:56:12","date_gmt":"2023-07-17T07:56:12","guid":{"rendered":"https:\/\/xinchewhd.com.cn\/?p=3011"},"modified":"2023-07-17T15:56:13","modified_gmt":"2023-07-17T07:56:13","slug":"springboot-%e9%9b%86%e6%88%90-easyexcel-3-x-%e4%bc%98%e9%9b%85%e5%ae%9e%e7%8e%b0-excel-%e5%af%bc%e5%85%a5%e5%af%bc%e5%87%ba","status":"publish","type":"post","link":"https:\/\/xinchewhd.com.cn\/index.php\/spring-boot\/springboot-%e9%9b%86%e6%88%90-easyexcel-3-x-%e4%bc%98%e9%9b%85%e5%ae%9e%e7%8e%b0-excel-%e5%af%bc%e5%85%a5%e5%af%bc%e5%87%ba\/","title":{"rendered":"SpringBoot \u96c6\u6210 EasyExcel 3.x \u4f18\u96c5\u5b9e\u73b0 Excel \u5bfc\u5165\u5bfc\u51fa"},"content":{"rendered":"<section data-tool=\"mdnice\u7f16\u8f91\u5668\" data-website=\"https:\/\/www.mdnice.com\" data-mpa-powered-by=\"yiban.io\">\n<section class=\"mp_profile_iframe_wrp\"><\/section>\n<section><\/section>\n<\/section>\n<section data-tool=\"mdnice\u7f16\u8f91\u5668\" data-website=\"https:\/\/www.mdnice.com\">\n<h1 style=\"font-weight: bold; font-size: 1.8em; color: #009688; margin: 1.2em auto; text-align: center; border-bottom: 1px solid #009688;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u4ecb\u7ecd<\/h1>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">EasyExcel \u662f\u4e00\u4e2a\u57fa\u4e8e Java \u7684\u3001\u5feb\u901f\u3001\u7b80\u6d01\u3001\u89e3\u51b3\u5927\u6587\u4ef6\u5185\u5b58\u6ea2\u51fa\u7684 Excel \u5904\u7406\u5de5\u5177\u3002\u5b83\u80fd\u8ba9\u4f60\u5728\u4e0d\u7528\u8003\u8651\u6027\u80fd\u3001\u5185\u5b58\u7684\u7b49\u56e0\u7d20\u7684\u60c5\u51b5\u4e0b\uff0c\u5feb\u901f\u5b8c\u6210 Excel \u7684\u8bfb\u3001\u5199\u7b49\u529f\u80fd\u3002<\/p>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">EasyExcel\u6587\u6863\u5730\u5740\uff1a<\/p>\n<blockquote style=\"border-top: none; border-bottom: none; font-size: 0.9em; overflow: auto; background: rgba(0, 0, 0, 0.05); padding: 10px 10px 10px 1em; margin-bottom: 20px; margin-top: 20px; border-left-width: 2px; border-left-color: #888888; border-right: 2px solid #888888; color: #777777;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\n<ul class=\"list-paddingleft-1\" style=\"margin-top: 8px; margin-bottom: 8px; padding-left: 25px; color: black;\">\n<li>\n<section style=\"margin-top: 5px; margin-bottom: 5px; line-height: 26px; color: #010101;\">https:\/\/easyexcel.opensource.alibaba.com\/<\/section>\n<\/li>\n<\/ul>\n<\/blockquote>\n<h1 style=\"font-weight: bold; font-size: 1.8em; color: #009688; margin: 1.2em auto; text-align: center; border-bottom: 1px solid #009688;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u5feb\u901f\u5f00\u59cb<\/h1>\n<h3 style=\"font-weight: bold; font-size: 20px; margin: 0.6em auto; padding-left: 10px; border-left: 2px solid #009688;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u5f15\u5165\u4f9d\u8d56<\/h3>\n<pre style=\"margin-top: 10px; margin-bottom: 10px; border-radius: 5px; box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><code style=\"overflow-x: auto; padding: 16px; color: #abb2bf; display: -webkit-box; font-family: Operator Mono, Consolas, Monaco, Menlo, monospace; font-size: 12px; -webkit-overflow-scrolling: touch; padding-top: 15px; background: #282c34; border-radius: 5px;\"><span style=\"line-height: 26px;\">&lt;<span style=\"color: #e06c75; line-height: 26px;\">dependency<\/span>&gt;<\/span>\n\u00a0\u00a0\u00a0\u00a0<span style=\"line-height: 26px;\">&lt;<span style=\"color: #e06c75; line-height: 26px;\">groupId<\/span>&gt;<\/span>com.alibaba<span style=\"line-height: 26px;\">&lt;\/<span style=\"color: #e06c75; line-height: 26px;\">groupId<\/span>&gt;<\/span>\n\u00a0\u00a0\u00a0\u00a0<span style=\"line-height: 26px;\">&lt;<span style=\"color: #e06c75; line-height: 26px;\">artifactId<\/span>&gt;<\/span>easyexcel<span style=\"line-height: 26px;\">&lt;\/<span style=\"color: #e06c75; line-height: 26px;\">artifactId<\/span>&gt;<\/span>\n\u00a0\u00a0\u00a0\u00a0<span style=\"line-height: 26px;\">&lt;<span style=\"color: #e06c75; line-height: 26px;\">version<\/span>&gt;<\/span>3.1.3<span style=\"line-height: 26px;\">&lt;\/<span style=\"color: #e06c75; line-height: 26px;\">version<\/span>&gt;<\/span>\n<span style=\"line-height: 26px;\">&lt;\/<span style=\"color: #e06c75; line-height: 26px;\">dependency<\/span>&gt;<\/span>\n<\/code><\/pre>\n<h3 style=\"font-weight: bold; font-size: 20px; margin: 0.6em auto; padding-left: 10px; border-left: 2px solid #009688;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u7b80\u5355\u5bfc\u51fa<\/h3>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u4ee5\u5bfc\u51fa\u7528\u6237\u4fe1\u606f\u4e3a\u4f8b\uff0c\u63a5\u4e0b\u6765\u624b\u628a\u624b\u6559\u5927\u5bb6\u5982\u4f55\u4f7f\u7528EasyExcel\u5b9e\u73b0\u5bfc\u51fa\u529f\u80fd\uff01<\/p>\n<h3 style=\"font-weight: bold; font-size: 20px; margin: 0.6em auto; padding-left: 10px; border-left: 2px solid #009688;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u5b9a\u4e49\u5b9e\u4f53\u7c7b<\/h3>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u5728EasyExcel\u4e2d\uff0c\u4ee5\u9762\u5411\u5bf9\u8c61\u601d\u60f3\u6765\u5b9e\u73b0\u5bfc\u5165\u5bfc\u51fa\uff0c\u65e0\u8bba\u662f\u5bfc\u5165\u6570\u636e\u8fd8\u662f\u5bfc\u51fa\u6570\u636e\u90fd\u53ef\u4ee5\u60f3\u8c61\u6210\u5177\u4f53\u67d0\u4e2a\u5bf9\u8c61\u7684\u96c6\u5408\uff0c\u6240\u4ee5\u4e3a\u4e86\u5b9e\u73b0\u5bfc\u51fa\u7528\u6237\u4fe1\u606f\u529f\u80fd\uff0c\u9996\u5148\u521b\u5efa\u4e00\u4e2a\u7528\u6237\u5bf9\u8c61UserDO\u5b9e\u4f53\u7c7b\uff0c\u7528\u4e8e\u5c01\u88c5\u7528\u6237\u4fe1\u606f\uff1a<\/p>\n<pre style=\"margin-top: 10px; margin-bottom: 10px; border-radius: 5px; box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><code style=\"overflow-x: auto; padding: 16px; color: #abb2bf; display: -webkit-box; font-family: Operator Mono, Consolas, Monaco, Menlo, monospace; font-size: 12px; -webkit-overflow-scrolling: touch; padding-top: 15px; background: #282c34; border-radius: 5px;\"><span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0*\u00a0\u7528\u6237\u4fe1\u606f\n\u00a0*\n\u00a0*\u00a0<span style=\"color: #c678dd; line-height: 26px;\">@author<\/span>\u00a0william@StarImmortal\n\u00a0*\/<\/span>\n<span style=\"color: #61aeee; line-height: 26px;\">@Data<\/span>\n<span style=\"color: #c678dd; line-height: 26px;\">public<\/span>\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">class<\/span>\u00a0<span style=\"color: #e6c07b; line-height: 26px;\">UserDO<\/span>\u00a0<\/span>{\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelProperty<\/span>(<span style=\"color: #98c379; line-height: 26px;\">\"\u7528\u6237\u7f16\u53f7\"<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ColumnWidth<\/span>(<span style=\"color: #d19a66; line-height: 26px;\">20<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0Long\u00a0id;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelProperty<\/span>(<span style=\"color: #98c379; line-height: 26px;\">\"\u7528\u6237\u540d\"<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ColumnWidth<\/span>(<span style=\"color: #d19a66; line-height: 26px;\">20<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0String\u00a0username;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelIgnore<\/span>\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0String\u00a0password;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelProperty<\/span>(<span style=\"color: #98c379; line-height: 26px;\">\"\u6635\u79f0\"<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ColumnWidth<\/span>(<span style=\"color: #d19a66; line-height: 26px;\">20<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0String\u00a0nickname;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelProperty<\/span>(<span style=\"color: #98c379; line-height: 26px;\">\"\u751f\u65e5\"<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ColumnWidth<\/span>(<span style=\"color: #d19a66; line-height: 26px;\">20<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@DateTimeFormat<\/span>(<span style=\"color: #98c379; line-height: 26px;\">\"yyyy-MM-dd\"<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0Date\u00a0birthday;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelProperty<\/span>(<span style=\"color: #98c379; line-height: 26px;\">\"\u624b\u673a\u53f7\"<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ColumnWidth<\/span>(<span style=\"color: #d19a66; line-height: 26px;\">20<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0String\u00a0phone;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelProperty<\/span>(<span style=\"color: #98c379; line-height: 26px;\">\"\u8eab\u9ad8\uff08\u7c73\uff09\"<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@NumberFormat<\/span>(<span style=\"color: #98c379; line-height: 26px;\">\"#.##\"<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ColumnWidth<\/span>(<span style=\"color: #d19a66; line-height: 26px;\">20<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0Double\u00a0height;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelProperty<\/span>(value\u00a0=\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"\u6027\u522b\"<\/span>,\u00a0converter\u00a0=\u00a0GenderConverter<span style=\"line-height: 26px;\">.<span style=\"color: #c678dd; line-height: 26px;\">class<\/span>)\n\u00a0\u00a0\u00a0\u00a0@<span style=\"color: #e6c07b; line-height: 26px;\">ColumnWidth<\/span>(10)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #e6c07b; line-height: 26px;\">private<\/span>\u00a0<span style=\"color: #e6c07b; line-height: 26px;\">Integer<\/span>\u00a0<span style=\"color: #e6c07b; line-height: 26px;\">gender<\/span><\/span>;\n}\n<\/code><\/pre>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u4e0a\u9762\u4ee3\u7801\u4e2d\u7c7b\u5c5e\u6027\u4e0a\u4f7f\u7528\u4e86EasyExcel\u6838\u5fc3\u6ce8\u89e3\uff1a<\/p>\n<ul class=\"list-paddingleft-1\" style=\"margin-top: 8px; margin-bottom: 8px; padding-left: 25px;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\n<li>\n<section style=\"margin-top: 5px; margin-bottom: 5px; line-height: 26px; color: #010101;\">\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; text-align: justify;\"><strong>@ExcelProperty\uff1a<\/strong> \u6838\u5fc3\u6ce8\u89e3\uff0cvalue\u5c5e\u6027\u53ef\u7528\u6765\u8bbe\u7f6e\u8868\u5934\u540d\u79f0\uff0cconverter\u5c5e\u6027\u53ef\u4ee5\u7528\u6765\u8bbe\u7f6e\u7c7b\u578b\u8f6c\u6362\u5668\uff1b<\/p>\n<\/section>\n<\/li>\n<li>\n<section style=\"margin-top: 5px; margin-bottom: 5px; line-height: 26px; color: #010101;\">\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; text-align: justify;\"><strong>@ColumnWidth\uff1a<\/strong> \u7528\u4e8e\u8bbe\u7f6e\u8868\u683c\u5217\u7684\u5bbd\u5ea6\uff1b<\/p>\n<\/section>\n<\/li>\n<li>\n<section style=\"margin-top: 5px; margin-bottom: 5px; line-height: 26px; color: #010101;\">\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; text-align: justify;\"><strong>@DateTimeFormat\uff1a<\/strong> \u7528\u4e8e\u8bbe\u7f6e\u65e5\u671f\u8f6c\u6362\u683c\u5f0f\uff1b<\/p>\n<\/section>\n<\/li>\n<li>\n<section style=\"margin-top: 5px; margin-bottom: 5px; line-height: 26px; color: #010101;\">\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; color: black; text-align: justify;\"><strong>@NumberFormat\uff1a<\/strong> \u7528\u4e8e\u8bbe\u7f6e\u6570\u5b57\u8f6c\u6362\u683c\u5f0f\u3002<\/p>\n<\/section>\n<\/li>\n<\/ul>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><strong>\u81ea\u5b9a\u4e49\u8f6c\u6362\u5668<\/strong><\/p>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u5728EasyExcel\u4e2d\uff0c\u5982\u679c\u60f3\u5b9e\u73b0\u679a\u4e3e\u7c7b\u578b\u5230\u5b57\u7b26\u4e32\u7c7b\u578b\u8f6c\u6362\uff08\u4f8b\u5982gender\u5c5e\u6027\uff1a1 -&gt; \u7537\uff0c2 -&gt; \u5973\uff09\uff0c\u9700\u5b9e\u73b0Converter\u63a5\u53e3\u6765\u81ea\u5b9a\u4e49\u8f6c\u6362\u5668\uff0c\u4e0b\u9762\u4e3a\u81ea\u5b9a\u4e49GenderConverter\u6027\u522b\u8f6c\u6362\u5668\u4ee3\u7801\u5b9e\u73b0\uff1a<\/p>\n<pre style=\"margin-top: 10px; margin-bottom: 10px; border-radius: 5px; box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><code style=\"overflow-x: auto; padding: 16px; color: #abb2bf; display: -webkit-box; font-family: Operator Mono, Consolas, Monaco, Menlo, monospace; font-size: 12px; -webkit-overflow-scrolling: touch; padding-top: 15px; background: #282c34; border-radius: 5px;\"><span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0*\u00a0Excel\u00a0\u6027\u522b\u8f6c\u6362\u5668\n\u00a0*\n\u00a0*\u00a0<span style=\"color: #c678dd; line-height: 26px;\">@author<\/span>\u00a0william@StarImmortal\n\u00a0*\/<\/span>\n<span style=\"color: #c678dd; line-height: 26px;\">public<\/span>\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">class<\/span>\u00a0<span style=\"color: #e6c07b; line-height: 26px;\">GenderConverter<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">implements<\/span>\u00a0<span style=\"color: #e6c07b; line-height: 26px;\">Converter<\/span>&lt;<span style=\"color: #e6c07b; line-height: 26px;\">Integer<\/span>&gt;\u00a0<\/span>{\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@Override<\/span>\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">public<\/span>\u00a0Class&lt;?&gt;\u00a0supportJavaTypeKey()\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">return<\/span>\u00a0Integer<span style=\"line-height: 26px;\">.<span style=\"color: #c678dd; line-height: 26px;\">class<\/span><\/span>;\n\u00a0\u00a0\u00a0\u00a0}\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@Override<\/span>\n\u00a0\u00a0\u00a0\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">public<\/span>\u00a0CellDataTypeEnum\u00a0<span style=\"color: #61aeee; line-height: 26px;\">supportExcelTypeKey<\/span><span style=\"line-height: 26px;\">()<\/span>\u00a0<\/span>{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">return<\/span>\u00a0CellDataTypeEnum.STRING;\n\u00a0\u00a0\u00a0\u00a0}\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@Override<\/span>\n\u00a0\u00a0\u00a0\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">public<\/span>\u00a0Integer\u00a0<span style=\"color: #61aeee; line-height: 26px;\">convertToJavaData<\/span><span style=\"line-height: 26px;\">(ReadConverterContext&lt;?&gt;\u00a0context)<\/span>\u00a0<\/span>{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">return<\/span>\u00a0GenderEnum.convert(context.getReadCellData().getStringValue()).getValue();\n\u00a0\u00a0\u00a0\u00a0}\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@Override<\/span>\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">public<\/span>\u00a0WriteCellData&lt;?&gt;\u00a0convertToExcelData(WriteConverterContext&lt;Integer&gt;\u00a0context)\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">return<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">new<\/span>\u00a0WriteCellData&lt;&gt;(GenderEnum.convert(context.getValue()).getDescription());\n\u00a0\u00a0\u00a0\u00a0}\n}\n<\/code><\/pre>\n<pre style=\"margin-top: 10px; margin-bottom: 10px; border-radius: 5px; box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><code style=\"overflow-x: auto; padding: 16px; color: #abb2bf; display: -webkit-box; font-family: Operator Mono, Consolas, Monaco, Menlo, monospace; font-size: 12px; -webkit-overflow-scrolling: touch; padding-top: 15px; background: #282c34; border-radius: 5px;\"><span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0*\u00a0\u6027\u522b\u679a\u4e3e\n\u00a0*\n\u00a0*\u00a0<span style=\"color: #c678dd; line-height: 26px;\">@author<\/span>\u00a0william@StarImmortal\n\u00a0*\/<\/span>\n<span style=\"color: #61aeee; line-height: 26px;\">@Getter<\/span>\n<span style=\"color: #61aeee; line-height: 26px;\">@AllArgsConstructor<\/span>\n<span style=\"color: #c678dd; line-height: 26px;\">public<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">enum<\/span>\u00a0GenderEnum\u00a0{\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0\u672a\u77e5\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/<\/span>\n\u00a0\u00a0\u00a0\u00a0UNKNOWN(<span style=\"color: #d19a66; line-height: 26px;\">0<\/span>,\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"\u672a\u77e5\"<\/span>),\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0\u7537\u6027\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/<\/span>\n\u00a0\u00a0\u00a0\u00a0MALE(<span style=\"color: #d19a66; line-height: 26px;\">1<\/span>,\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"\u7537\u6027\"<\/span>),\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0\u5973\u6027\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/<\/span>\n\u00a0\u00a0\u00a0\u00a0FEMALE(<span style=\"color: #d19a66; line-height: 26px;\">2<\/span>,\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"\u5973\u6027\"<\/span>);\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">final<\/span>\u00a0Integer\u00a0value;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@JsonFormat<\/span>\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">final<\/span>\u00a0String\u00a0description;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">public<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">static<\/span>\u00a0GenderEnum\u00a0<span style=\"color: #61aeee; line-height: 26px;\">convert<\/span><span style=\"line-height: 26px;\">(Integer\u00a0value)<\/span>\u00a0<\/span>{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">return<\/span>\u00a0Stream.of(values())\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.filter(bean\u00a0-&gt;\u00a0bean.value.equals(value))\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.findAny()\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.orElse(UNKNOWN);\n\u00a0\u00a0\u00a0\u00a0}\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">public<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">static<\/span>\u00a0GenderEnum\u00a0<span style=\"color: #61aeee; line-height: 26px;\">convert<\/span><span style=\"line-height: 26px;\">(String\u00a0description)<\/span>\u00a0<\/span>{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">return<\/span>\u00a0Stream.of(values())\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.filter(bean\u00a0-&gt;\u00a0bean.description.equals(description))\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.findAny()\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.orElse(UNKNOWN);\n\u00a0\u00a0\u00a0\u00a0}\n}\n<\/code><\/pre>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><strong>\u5b9a\u4e49\u63a5\u53e3<\/strong><\/p>\n<pre style=\"margin-top: 10px; margin-bottom: 10px; border-radius: 5px; box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><code style=\"overflow-x: auto; padding: 16px; color: #abb2bf; display: -webkit-box; font-family: Operator Mono, Consolas, Monaco, Menlo, monospace; font-size: 12px; -webkit-overflow-scrolling: touch; padding-top: 15px; background: #282c34; border-radius: 5px;\"><span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0*\u00a0EasyExcel\u5bfc\u5165\u5bfc\u51fa\n\u00a0*\n\u00a0*\u00a0<span style=\"color: #c678dd; line-height: 26px;\">@author<\/span>\u00a0william@StarImmortal\n\u00a0*\/<\/span>\n<span style=\"color: #61aeee; line-height: 26px;\">@RestController<\/span>\n<span style=\"color: #61aeee; line-height: 26px;\">@RequestMapping<\/span>(<span style=\"color: #98c379; line-height: 26px;\">\"\/excel\"<\/span>)\n<span style=\"color: #c678dd; line-height: 26px;\">public<\/span>\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">class<\/span>\u00a0<span style=\"color: #e6c07b; line-height: 26px;\">ExcelController<\/span>\u00a0<\/span>{\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@GetMapping<\/span>(<span style=\"color: #98c379; line-height: 26px;\">\"\/export\/user\"<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">public<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">void<\/span>\u00a0<span style=\"color: #61aeee; line-height: 26px;\">exportUserExcel<\/span><span style=\"line-height: 26px;\">(HttpServletResponse\u00a0response)<\/span>\u00a0<\/span>{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">try<\/span>\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">this<\/span>.setExcelResponseProp(response,\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"\u7528\u6237\u5217\u8868\"<\/span>);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0List&lt;UserDO&gt;\u00a0userList\u00a0=\u00a0<span style=\"color: #c678dd; line-height: 26px;\">this<\/span>.getUserList();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0EasyExcel.write(response.getOutputStream())\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.head(UserDO<span style=\"line-height: 26px;\">.<span style=\"color: #c678dd; line-height: 26px;\">class<\/span>)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.<span style=\"color: #e6c07b; line-height: 26px;\">excelType<\/span>(<span style=\"color: #e6c07b; line-height: 26px;\">ExcelTypeEnum<\/span>.<span style=\"color: #e6c07b; line-height: 26px;\">XLSX<\/span>)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.<span style=\"color: #e6c07b; line-height: 26px;\">sheet<\/span>(\"\u7528\u6237\u5217\u8868\")\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.<span style=\"color: #e6c07b; line-height: 26px;\">doWrite<\/span>(<span style=\"color: #e6c07b; line-height: 26px;\">userList<\/span>)<\/span>;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\u00a0<span style=\"color: #c678dd; line-height: 26px;\">catch<\/span>\u00a0(IOException\u00a0e)\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">throw<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">new<\/span>\u00a0RuntimeException(e);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0\u8bbe\u7f6e\u54cd\u5e94\u7ed3\u679c\n\u00a0\u00a0\u00a0\u00a0\u00a0*\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0<span style=\"color: #c678dd; line-height: 26px;\">@param<\/span>\u00a0response\u00a0\u00a0\u00a0\u00a0\u54cd\u5e94\u7ed3\u679c\u5bf9\u8c61\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0<span style=\"color: #c678dd; line-height: 26px;\">@param<\/span>\u00a0rawFileName\u00a0\u6587\u4ef6\u540d\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0<span style=\"color: #c678dd; line-height: 26px;\">@throws<\/span>\u00a0UnsupportedEncodingException\u00a0\u4e0d\u652f\u6301\u7f16\u7801\u5f02\u5e38\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/<\/span>\n\u00a0\u00a0\u00a0\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">void<\/span>\u00a0<span style=\"color: #61aeee; line-height: 26px;\">setExcelResponseProp<\/span><span style=\"line-height: 26px;\">(HttpServletResponse\u00a0response,\u00a0String\u00a0rawFileName)<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">throws<\/span>\u00a0UnsupportedEncodingException\u00a0<\/span>{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0response.setContentType(<span style=\"color: #98c379; line-height: 26px;\">\"application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"<\/span>);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0response.setCharacterEncoding(<span style=\"color: #98c379; line-height: 26px;\">\"utf-8\"<\/span>);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0String\u00a0fileName\u00a0=\u00a0URLEncoder.encode(rawFileName,\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"UTF-8\"<\/span>).replaceAll(<span style=\"color: #98c379; line-height: 26px;\">\"\\+\"<\/span>,\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"%20\"<\/span>);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0response.setHeader(<span style=\"color: #98c379; line-height: 26px;\">\"Content-disposition\"<\/span>,\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"attachment;filename*=utf-8''\"<\/span>\u00a0+\u00a0fileName\u00a0+\u00a0<span style=\"color: #98c379; line-height: 26px;\">\".xlsx\"<\/span>);\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0\u8bfb\u53d6\u7528\u6237\u5217\u8868\u6570\u636e\n\u00a0\u00a0\u00a0\u00a0\u00a0*\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0<span style=\"color: #c678dd; line-height: 26px;\">@return<\/span>\u00a0\u7528\u6237\u5217\u8868\u6570\u636e\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0<span style=\"color: #c678dd; line-height: 26px;\">@throws<\/span>\u00a0IOException\u00a0IO\u5f02\u5e38\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/<\/span>\n\u00a0\u00a0\u00a0\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0List&lt;UserDO&gt;\u00a0<span style=\"color: #61aeee; line-height: 26px;\">getUserList<\/span><span style=\"line-height: 26px;\">()<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">throws<\/span>\u00a0IOException\u00a0<\/span>{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ObjectMapper\u00a0objectMapper\u00a0=\u00a0<span style=\"color: #c678dd; line-height: 26px;\">new<\/span>\u00a0ObjectMapper();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ClassPathResource\u00a0classPathResource\u00a0=\u00a0<span style=\"color: #c678dd; line-height: 26px;\">new<\/span>\u00a0ClassPathResource(<span style=\"color: #98c379; line-height: 26px;\">\"mock\/users.json\"<\/span>);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0InputStream\u00a0inputStream\u00a0=\u00a0classPathResource.getInputStream();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">return<\/span>\u00a0objectMapper.readValue(inputStream,\u00a0<span style=\"color: #c678dd; line-height: 26px;\">new<\/span>\u00a0TypeReference&lt;List&lt;UserDO&gt;&gt;()\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0});\n\u00a0\u00a0\u00a0\u00a0}\n}\n<\/code><\/pre>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><strong>\u6d4b\u8bd5\u63a5\u53e3<\/strong><\/p>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u8fd0\u884c\u9879\u76ee\uff0c\u901a\u8fc7 Postman \u6216\u8005 Apifox \u5de5\u5177\u6765\u8fdb\u884c\u63a5\u53e3\u6d4b\u8bd5<\/p>\n<blockquote style=\"border-top: none; border-bottom: none; font-size: 0.9em; overflow: auto; background: rgba(0, 0, 0, 0.05); padding: 10px 10px 10px 1em; margin-bottom: 20px; margin-top: 20px; border-left-width: 2px; border-left-color: #888888; border-right: 2px solid #888888; color: #777777;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\n<p style=\"font-size: 16px; padding-top: 8px; padding-bottom: 8px; text-align: justify; color: black; line-height: 26px;\">\u6ce8\u610f\uff1a\u5728 Apifox \u4e2d\u8bbf\u95ee\u63a5\u53e3\u540e\u65e0\u6cd5\u76f4\u63a5\u4e0b\u8f7d\uff0c\u9700\u8981\u70b9\u51fb\u8fd4\u56de\u7ed3\u679c\u4e2d\u7684\u4e0b\u8f7d\u56fe\u6807\u624d\u884c\uff0c\u70b9\u51fb\u4e4b\u540e\u65b9\u53ef\u5bf9Excel\u6587\u4ef6\u8fdb\u884c\u4fdd\u5b58\u3002<\/p>\n<\/blockquote>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u63a5\u53e3\u5730\u5740\uff1a<code style=\"font-size: 14px; padding: 2px 4px; border-radius: 4px; margin-right: 2px; margin-left: 2px; background-color: rgba(27, 31, 35, 0.05); font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace; word-break: break-all; color: #009688;\">http:\/\/localhost:8080\/excel\/export\/user<\/code><\/p>\n<figure style=\"margin-top: 10px; margin-bottom: 10px; display: flex; flex-direction: column; justify-content: center; align-items: center;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><img decoding=\"async\" class=\"rich_pages wxw-img lazyload\" style=\"display: block; margin-right: auto; margin-left: auto; height: auto !important;\" data-src=\"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-15\/202307171555150b0b04d3a.png\" src=\"https:\/\/s.nmxc.ltd\/sakurairo_vision\/@2.6\/load_svg\/inload.svg\" onerror=\"imgError(this)\" data-ratio=\"0.7027777777777777\" data-type=\"png\" data-w=\"1080\" \/><noscript><img decoding=\"async\" class=\"rich_pages wxw-img\" style=\"display: block; margin-right: auto; margin-left: auto; height: auto !important;\" src=\"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-15\/202307171555150b0b04d3a.png\" data-ratio=\"0.7027777777777777\" data-type=\"png\" data-w=\"1080\" \/><\/noscript><\/figure>\n<figure style=\"margin-top: 10px; margin-bottom: 10px; display: flex; flex-direction: column; justify-content: center; align-items: center;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><img decoding=\"async\" class=\"rich_pages wxw-img lazyload\" style=\"display: block; margin-right: auto; margin-left: auto; height: auto !important;\" data-src=\"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-16\/20230717155516bbbb83e5c.png\" src=\"https:\/\/s.nmxc.ltd\/sakurairo_vision\/@2.6\/load_svg\/inload.svg\" onerror=\"imgError(this)\" data-ratio=\"0.22685185185185186\" data-type=\"png\" data-w=\"1080\" \/><noscript><img decoding=\"async\" class=\"rich_pages wxw-img\" style=\"display: block; margin-right: auto; margin-left: auto; height: auto !important;\" src=\"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-16\/20230717155516bbbb83e5c.png\" data-ratio=\"0.22685185185185186\" data-type=\"png\" data-w=\"1080\" \/><\/noscript><\/figure>\n<h3 style=\"font-weight: bold; font-size: 20px; margin: 0.6em auto; padding-left: 10px; border-left: 2px solid #009688;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u590d\u6742\u5bfc\u51fa<\/h3>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u7531\u4e8e EasyPoi \u652f\u6301\u5d4c\u5957\u5bf9\u8c61\u5bfc\u51fa\uff0c\u76f4\u63a5\u4f7f\u7528\u5185\u7f6e <code style=\"font-size: 14px; padding: 2px 4px; border-radius: 4px; margin-right: 2px; margin-left: 2px; background-color: rgba(27, 31, 35, 0.05); font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace; word-break: break-all; color: #009688;\">@ExcelCollection<\/code> \u6ce8\u89e3\u5373\u53ef\u5b9e\u73b0\uff0c\u9057\u61be\u7684\u662f EasyExcel \u4e0d\u652f\u6301\u4e00\u5bf9\u591a\u5bfc\u51fa\uff0c\u53ea\u80fd\u81ea\u884c\u5b9e\u73b0\uff0c\u901a\u8fc7\u6b64issues\u4e86\u89e3\u5230\uff0c\u9879\u76ee\u7ef4\u62a4\u8005\u5efa\u8bae\u901a\u8fc7\u81ea\u5b9a\u4e49\u5408\u5e76\u7b56\u7565\u65b9\u5f0f\u6765\u5b9e\u73b0\u4e00\u5bf9\u591a\u5bfc\u51fa\u3002<\/p>\n<figure style=\"margin-top: 10px; margin-bottom: 10px; display: flex; flex-direction: column; justify-content: center; align-items: center;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><img decoding=\"async\" class=\"rich_pages wxw-img lazyload\" style=\"display: block; margin-right: auto; margin-left: auto; height: auto !important;\" data-src=\"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-16\/20230717155516baba82619.png\" src=\"https:\/\/s.nmxc.ltd\/sakurairo_vision\/@2.6\/load_svg\/inload.svg\" onerror=\"imgError(this)\" data-ratio=\"0.2898148148148148\" data-type=\"png\" data-w=\"1080\" \/><noscript><img decoding=\"async\" class=\"rich_pages wxw-img\" style=\"display: block; margin-right: auto; margin-left: auto; height: auto !important;\" src=\"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-16\/20230717155516baba82619.png\" data-ratio=\"0.2898148148148148\" data-type=\"png\" data-w=\"1080\" \/><\/noscript><\/figure>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u89e3\u51b3\u601d\u8def\uff1a\u53ea\u9700\u628a\u8ba2\u5355\u4e3b\u952e\u76f8\u540c\u7684\u5217\u4e2d\u9700\u8981\u5408\u5e76\u7684\u5217\u7ed9\u5408\u5e76\u4e86\uff0c\u5c31\u53ef\u4ee5\u5b9e\u73b0\u8fd9\u79cd\u4e00\u5bf9\u591a\u5d4c\u5957\u4fe1\u606f\u7684\u5bfc\u51fa<\/p>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><strong>\u81ea\u5b9a\u4e49\u6ce8\u89e3<\/strong><\/p>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u521b\u5efa\u4e00\u4e2a\u81ea\u5b9a\u4e49\u6ce8\u89e3\uff0c\u7528\u4e8e\u6807\u8bb0\u54ea\u4e9b\u5c5e\u6027\u9700\u8981\u5408\u5e76\u5355\u5143\u683c\uff0c\u54ea\u4e2a\u5c5e\u6027\u662f\u4e3b\u952e\uff1a<\/p>\n<pre style=\"margin-top: 10px; margin-bottom: 10px; border-radius: 5px; box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><code style=\"overflow-x: auto; padding: 16px; color: #abb2bf; display: -webkit-box; font-family: Operator Mono, Consolas, Monaco, Menlo, monospace; font-size: 12px; -webkit-overflow-scrolling: touch; padding-top: 15px; background: #282c34; border-radius: 5px;\"><span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0*\u00a0\u7528\u4e8e\u5224\u65ad\u662f\u5426\u9700\u8981\u5408\u5e76\u4ee5\u53ca\u5408\u5e76\u7684\u4e3b\u952e\n\u00a0*\n\u00a0*\u00a0<span style=\"color: #c678dd; line-height: 26px;\">@author<\/span>\u00a0william@StarImmortal\n\u00a0*\/<\/span>\n<span style=\"color: #61aeee; line-height: 26px;\">@Target<\/span>({ElementType.FIELD})\n<span style=\"color: #61aeee; line-height: 26px;\">@Retention<\/span>(RetentionPolicy.RUNTIME)\n<span style=\"color: #61aeee; line-height: 26px;\">@Documented<\/span>\n<span style=\"color: #c678dd; line-height: 26px;\">public<\/span>\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@interface<\/span>\u00a0ExcelMerge\u00a0{\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0\u662f\u5426\u5408\u5e76\u5355\u5143\u683c\n\u00a0\u00a0\u00a0\u00a0\u00a0*\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0<span style=\"color: #c678dd; line-height: 26px;\">@return<\/span>\u00a0true\u00a0||\u00a0false\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/<\/span>\n\u00a0\u00a0\u00a0\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">boolean<\/span>\u00a0<span style=\"color: #61aeee; line-height: 26px;\">merge<\/span><span style=\"line-height: 26px;\">()<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">default<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">true<\/span><\/span>;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0\u662f\u5426\u4e3a\u4e3b\u952e\uff08\u5373\u8be5\u5b57\u6bb5\u76f8\u540c\u7684\u884c\u5408\u5e76\uff09\n\u00a0\u00a0\u00a0\u00a0\u00a0*\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0<span style=\"color: #c678dd; line-height: 26px;\">@return<\/span>\u00a0true\u00a0||\u00a0false\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/<\/span>\n\u00a0\u00a0\u00a0\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">boolean<\/span>\u00a0<span style=\"color: #61aeee; line-height: 26px;\">isPrimaryKey<\/span><span style=\"line-height: 26px;\">()<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">default<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">false<\/span><\/span>;\n}\n<\/code><\/pre>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><strong>\u5b9a\u4e49\u5b9e\u4f53\u7c7b<\/strong><\/p>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u5728\u9700\u8981\u5408\u5e76\u5355\u5143\u683c\u7684\u5c5e\u6027\u4e0a\u8bbe\u7f6e <code style=\"font-size: 14px; padding: 2px 4px; border-radius: 4px; margin-right: 2px; margin-left: 2px; background-color: rgba(27, 31, 35, 0.05); font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace; word-break: break-all; color: #009688;\">@ExcelMerge<\/code> \u6ce8\u89e3\uff0c\u4e8c\u7ea7\u8868\u5934\u901a\u8fc7\u8bbe\u7f6e <code style=\"font-size: 14px; padding: 2px 4px; border-radius: 4px; margin-right: 2px; margin-left: 2px; background-color: rgba(27, 31, 35, 0.05); font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace; word-break: break-all; color: #009688;\">@ExcelProperty<\/code> \u6ce8\u89e3\u4e2d value \u503c\u4e3a\u6570\u7ec4\u5f62\u5f0f\u6765\u5b9e\u73b0\u8be5\u6548\u679c\uff1a<\/p>\n<pre style=\"margin-top: 10px; margin-bottom: 10px; border-radius: 5px; box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><code style=\"overflow-x: auto; padding: 16px; color: #abb2bf; display: -webkit-box; font-family: Operator Mono, Consolas, Monaco, Menlo, monospace; font-size: 12px; -webkit-overflow-scrolling: touch; padding-top: 15px; background: #282c34; border-radius: 5px;\"><span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0*\u00a0<span style=\"color: #c678dd; line-height: 26px;\">@author<\/span>\u00a0william@StarImmortal\n\u00a0*\/<\/span>\n<span style=\"color: #61aeee; line-height: 26px;\">@Data<\/span>\n<span style=\"color: #c678dd; line-height: 26px;\">public<\/span>\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">class<\/span>\u00a0<span style=\"color: #e6c07b; line-height: 26px;\">OrderBO<\/span>\u00a0<\/span>{\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelProperty<\/span>(value\u00a0=\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"\u8ba2\u5355\u4e3b\u952e\"<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ColumnWidth<\/span>(<span style=\"color: #d19a66; line-height: 26px;\">16<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelMerge<\/span>(merge\u00a0=\u00a0<span style=\"color: #c678dd; line-height: 26px;\">true<\/span>,\u00a0isPrimaryKey\u00a0=\u00a0<span style=\"color: #c678dd; line-height: 26px;\">true<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0String\u00a0id;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelProperty<\/span>(value\u00a0=\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"\u8ba2\u5355\u7f16\u53f7\"<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ColumnWidth<\/span>(<span style=\"color: #d19a66; line-height: 26px;\">20<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelMerge<\/span>(merge\u00a0=\u00a0<span style=\"color: #c678dd; line-height: 26px;\">true<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0String\u00a0orderId;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelProperty<\/span>(value\u00a0=\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"\u6536\u8d27\u5730\u5740\"<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelMerge<\/span>(merge\u00a0=\u00a0<span style=\"color: #c678dd; line-height: 26px;\">true<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ColumnWidth<\/span>(<span style=\"color: #d19a66; line-height: 26px;\">20<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0String\u00a0address;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelProperty<\/span>(value\u00a0=\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"\u521b\u5efa\u65f6\u95f4\"<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ColumnWidth<\/span>(<span style=\"color: #d19a66; line-height: 26px;\">20<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@DateTimeFormat<\/span>(<span style=\"color: #98c379; line-height: 26px;\">\"yyyy-MM-dd\u00a0HH:mm:ss\"<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelMerge<\/span>(merge\u00a0=\u00a0<span style=\"color: #c678dd; line-height: 26px;\">true<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0Date\u00a0createTime;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelProperty<\/span>(value\u00a0=\u00a0{<span style=\"color: #98c379; line-height: 26px;\">\"\u5546\u54c1\u4fe1\u606f\"<\/span>,\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"\u5546\u54c1\u7f16\u53f7\"<\/span>})\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ColumnWidth<\/span>(<span style=\"color: #d19a66; line-height: 26px;\">20<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0String\u00a0productId;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelProperty<\/span>(value\u00a0=\u00a0{<span style=\"color: #98c379; line-height: 26px;\">\"\u5546\u54c1\u4fe1\u606f\"<\/span>,\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"\u5546\u54c1\u540d\u79f0\"<\/span>})\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ColumnWidth<\/span>(<span style=\"color: #d19a66; line-height: 26px;\">20<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0String\u00a0name;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelProperty<\/span>(value\u00a0=\u00a0{<span style=\"color: #98c379; line-height: 26px;\">\"\u5546\u54c1\u4fe1\u606f\"<\/span>,\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"\u5546\u54c1\u6807\u9898\"<\/span>})\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ColumnWidth<\/span>(<span style=\"color: #d19a66; line-height: 26px;\">30<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0String\u00a0subtitle;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelProperty<\/span>(value\u00a0=\u00a0{<span style=\"color: #98c379; line-height: 26px;\">\"\u5546\u54c1\u4fe1\u606f\"<\/span>,\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"\u54c1\u724c\u540d\u79f0\"<\/span>})\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ColumnWidth<\/span>(<span style=\"color: #d19a66; line-height: 26px;\">20<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0String\u00a0brandName;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelProperty<\/span>(value\u00a0=\u00a0{<span style=\"color: #98c379; line-height: 26px;\">\"\u5546\u54c1\u4fe1\u606f\"<\/span>,\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"\u5546\u54c1\u4ef7\u683c\"<\/span>})\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ColumnWidth<\/span>(<span style=\"color: #d19a66; line-height: 26px;\">20<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0BigDecimal\u00a0price;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ExcelProperty<\/span>(value\u00a0=\u00a0{<span style=\"color: #98c379; line-height: 26px;\">\"\u5546\u54c1\u4fe1\u606f\"<\/span>,\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"\u5546\u54c1\u6570\u91cf\"<\/span>})\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@ColumnWidth<\/span>(<span style=\"color: #d19a66; line-height: 26px;\">20<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0Integer\u00a0count;\n}\n<\/code><\/pre>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><strong>\u6570\u636e\u6620\u5c04\u4e0e\u5e73\u94fa<\/strong><\/p>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u5bfc\u51fa\u4e4b\u524d\uff0c\u9700\u8981\u5bf9\u6570\u636e\u8fdb\u884c\u5904\u7406\uff0c\u5c06\u8ba2\u5355\u6570\u636e\u8fdb\u884c\u5e73\u94fa\uff0corderList\u4e3a\u5e73\u94fa\u524d\u683c\u5f0f\uff0cexportData\u4e3a\u5e73\u94fa\u540e\u683c\u5f0f\uff1a<\/p>\n<figure style=\"margin-top: 10px; margin-bottom: 10px; display: flex; flex-direction: column; justify-content: center; align-items: center;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><img decoding=\"async\" class=\"rich_pages wxw-img lazyload\" style=\"display: block; margin-right: auto; margin-left: auto; height: auto !important;\" data-src=\"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-16\/20230717155516050503fcf.png\" src=\"https:\/\/s.nmxc.ltd\/sakurairo_vision\/@2.6\/load_svg\/inload.svg\" onerror=\"imgError(this)\" data-ratio=\"0.5009259259259259\" data-type=\"png\" data-w=\"1080\" \/><noscript><img decoding=\"async\" class=\"rich_pages wxw-img\" style=\"display: block; margin-right: auto; margin-left: auto; height: auto !important;\" src=\"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-16\/20230717155516050503fcf.png\" data-ratio=\"0.5009259259259259\" data-type=\"png\" data-w=\"1080\" \/><\/noscript><\/figure>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><strong>\u81ea\u5b9a\u4e49\u5355\u5143\u683c\u5408\u5e76\u7b56\u7565<\/strong><\/p>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u5f53 Excel \u4e2d\u4e24\u5217\u4e3b\u952e\u76f8\u540c\u65f6\uff0c\u5408\u5e76\u88ab\u6807\u8bb0\u9700\u8981\u5408\u5e76\u7684\u5217\uff1a<\/p>\n<pre style=\"margin-top: 10px; margin-bottom: 10px; border-radius: 5px; box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><code style=\"overflow-x: auto; padding: 16px; color: #abb2bf; display: -webkit-box; font-family: Operator Mono, Consolas, Monaco, Menlo, monospace; font-size: 12px; -webkit-overflow-scrolling: touch; padding-top: 15px; background: #282c34; border-radius: 5px;\"><span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0*\u00a0\u81ea\u5b9a\u4e49\u5355\u5143\u683c\u5408\u5e76\u7b56\u7565\n\u00a0*\n\u00a0*\u00a0<span style=\"color: #c678dd; line-height: 26px;\">@author<\/span>\u00a0william@StarImmortal\n\u00a0*\/<\/span>\n<span style=\"color: #c678dd; line-height: 26px;\">public<\/span>\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">class<\/span>\u00a0<span style=\"color: #e6c07b; line-height: 26px;\">ExcelMergeStrategy<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">implements<\/span>\u00a0<span style=\"color: #e6c07b; line-height: 26px;\">RowWriteHandler<\/span>\u00a0<\/span>{\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0\u4e3b\u952e\u4e0b\u6807\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/<\/span>\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0Integer\u00a0primaryKeyIndex;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0\u9700\u8981\u5408\u5e76\u7684\u5217\u7684\u4e0b\u6807\u96c6\u5408\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/<\/span>\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">final<\/span>\u00a0List&lt;Integer&gt;\u00a0mergeColumnIndexList\u00a0=\u00a0<span style=\"color: #c678dd; line-height: 26px;\">new<\/span>\u00a0ArrayList&lt;&gt;();\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0\u6570\u636e\u7c7b\u578b\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/<\/span>\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">final<\/span>\u00a0Class&lt;?&gt;\u00a0elementType;\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">public<\/span>\u00a0<span style=\"color: #61aeee; line-height: 26px;\">ExcelMergeStrategy<\/span><span style=\"line-height: 26px;\">(Class&lt;?&gt;\u00a0elementType)<\/span>\u00a0<\/span>{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">this<\/span>.elementType\u00a0=\u00a0elementType;\n\u00a0\u00a0\u00a0\u00a0}\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@Override<\/span>\n\u00a0\u00a0\u00a0\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">public<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">void<\/span>\u00a0<span style=\"color: #61aeee; line-height: 26px;\">afterRowDispose<\/span><span style=\"line-height: 26px;\">(WriteSheetHolder\u00a0writeSheetHolder,\u00a0WriteTableHolder\u00a0writeTableHolder,\u00a0Row\u00a0row,\u00a0Integer\u00a0relativeRowIndex,\u00a0Boolean\u00a0isHead)<\/span>\u00a0<\/span>{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/\/\u00a0\u5224\u65ad\u662f\u5426\u4e3a\u6807\u9898<\/span>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">if<\/span>\u00a0(isHead)\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">return<\/span>;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/\/\u00a0\u83b7\u53d6\u5f53\u524d\u5de5\u4f5c\u8868<\/span>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Sheet\u00a0sheet\u00a0=\u00a0writeSheetHolder.getSheet();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/\/\u00a0\u521d\u59cb\u5316\u4e3b\u952e\u4e0b\u6807\u548c\u9700\u8981\u5408\u5e76\u5b57\u6bb5\u7684\u4e0b\u6807<\/span>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">if<\/span>\u00a0(primaryKeyIndex\u00a0==\u00a0<span style=\"color: #c678dd; line-height: 26px;\">null<\/span>)\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">this<\/span>.initPrimaryIndexAndMergeIndex(writeSheetHolder);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/\/\u00a0\u5224\u65ad\u662f\u5426\u9700\u8981\u548c\u4e0a\u4e00\u884c\u8fdb\u884c\u5408\u5e76<\/span>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/\/\u00a0\u4e0d\u80fd\u548c\u6807\u9898\u5408\u5e76\uff0c\u53ea\u80fd\u6570\u636e\u884c\u4e4b\u95f4\u5408\u5e76<\/span>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">if<\/span>\u00a0(row.getRowNum()\u00a0&lt;=\u00a0<span style=\"color: #d19a66; line-height: 26px;\">1<\/span>)\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">return<\/span>;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/\/\u00a0\u83b7\u53d6\u4e0a\u4e00\u884c\u6570\u636e<\/span>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Row\u00a0lastRow\u00a0=\u00a0sheet.getRow(row.getRowNum()\u00a0-\u00a0<span style=\"color: #d19a66; line-height: 26px;\">1<\/span>);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/\/\u00a0\u5c06\u672c\u884c\u548c\u4e0a\u4e00\u884c\u662f\u540c\u4e00\u7c7b\u578b\u7684\u6570\u636e\uff08\u901a\u8fc7\u4e3b\u952e\u5b57\u6bb5\u8fdb\u884c\u5224\u65ad\uff09\uff0c\u5219\u9700\u8981\u5408\u5e76<\/span>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">if<\/span>\u00a0(lastRow.getCell(primaryKeyIndex).getStringCellValue().equalsIgnoreCase(row.getCell(primaryKeyIndex).getStringCellValue()))\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">for<\/span>\u00a0(Integer\u00a0mergeIndex\u00a0:\u00a0mergeColumnIndexList)\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0CellRangeAddress\u00a0cellRangeAddress\u00a0=\u00a0<span style=\"color: #c678dd; line-height: 26px;\">new<\/span>\u00a0CellRangeAddress(row.getRowNum()\u00a0-\u00a0<span style=\"color: #d19a66; line-height: 26px;\">1<\/span>,\u00a0row.getRowNum(),\u00a0mergeIndex,\u00a0mergeIndex);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0sheet.addMergedRegionUnsafe(cellRangeAddress);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0\u521d\u59cb\u5316\u4e3b\u952e\u4e0b\u6807\u548c\u9700\u8981\u5408\u5e76\u5b57\u6bb5\u7684\u4e0b\u6807\n\u00a0\u00a0\u00a0\u00a0\u00a0*\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0<span style=\"color: #c678dd; line-height: 26px;\">@param<\/span>\u00a0writeSheetHolder\u00a0WriteSheetHolder\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/<\/span>\n\u00a0\u00a0\u00a0\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">void<\/span>\u00a0<span style=\"color: #61aeee; line-height: 26px;\">initPrimaryIndexAndMergeIndex<\/span><span style=\"line-height: 26px;\">(WriteSheetHolder\u00a0writeSheetHolder)<\/span>\u00a0<\/span>{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/\/\u00a0\u83b7\u53d6\u5f53\u524d\u5de5\u4f5c\u8868<\/span>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Sheet\u00a0sheet\u00a0=\u00a0writeSheetHolder.getSheet();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/\/\u00a0\u83b7\u53d6\u6807\u9898\u884c<\/span>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Row\u00a0titleRow\u00a0=\u00a0sheet.getRow(<span style=\"color: #d19a66; line-height: 26px;\">0<\/span>);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/\/\u00a0\u83b7\u53d6\u6240\u6709\u5c5e\u6027\u5b57\u6bb5<\/span>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Field[]\u00a0fields\u00a0=\u00a0<span style=\"color: #c678dd; line-height: 26px;\">this<\/span>.elementType.getDeclaredFields();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/\/\u00a0\u904d\u5386\u6240\u6709\u5b57\u6bb5<\/span>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">for<\/span>\u00a0(Field\u00a0field\u00a0:\u00a0fields)\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/\/\u00a0\u83b7\u53d6@ExcelProperty\u6ce8\u89e3\uff0c\u7528\u4e8e\u83b7\u53d6\u8be5\u5b57\u6bb5\u5bf9\u5e94\u5217\u7684\u4e0b\u6807<\/span>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ExcelProperty\u00a0excelProperty\u00a0=\u00a0field.getAnnotation(ExcelProperty<span style=\"line-height: 26px;\">.<span style=\"color: #c678dd; line-height: 26px;\">class<\/span>)<\/span>;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/\/\u00a0\u5224\u65ad\u662f\u5426\u4e3a\u7a7a<\/span>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">if<\/span>\u00a0(<span style=\"color: #c678dd; line-height: 26px;\">null<\/span>\u00a0==\u00a0excelProperty)\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">continue<\/span>;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/\/\u00a0\u83b7\u53d6\u81ea\u5b9a\u4e49\u6ce8\u89e3\uff0c\u7528\u4e8e\u5408\u5e76\u5355\u5143\u683c<\/span>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ExcelMerge\u00a0excelMerge\u00a0=\u00a0field.getAnnotation(ExcelMerge<span style=\"line-height: 26px;\">.<span style=\"color: #c678dd; line-height: 26px;\">class<\/span>)<\/span>;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/\/\u00a0\u5224\u65ad\u662f\u5426\u9700\u8981\u5408\u5e76<\/span>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">if<\/span>\u00a0(<span style=\"color: #c678dd; line-height: 26px;\">null<\/span>\u00a0==\u00a0excelMerge)\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">continue<\/span>;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">for<\/span>\u00a0(<span style=\"color: #c678dd; line-height: 26px;\">int<\/span>\u00a0i\u00a0=\u00a0<span style=\"color: #d19a66; line-height: 26px;\">0<\/span>;\u00a0i\u00a0&lt;\u00a0fields.length;\u00a0i++)\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Cell\u00a0cell\u00a0=\u00a0titleRow.getCell(i);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">if<\/span>\u00a0(<span style=\"color: #c678dd; line-height: 26px;\">null<\/span>\u00a0==\u00a0cell)\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">continue<\/span>;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/\/\u00a0\u5c06\u5b57\u6bb5\u548c\u8868\u5934\u5339\u914d\u4e0a<\/span>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">if<\/span>\u00a0(excelProperty.value()[<span style=\"color: #d19a66; line-height: 26px;\">0<\/span>].equalsIgnoreCase(cell.getStringCellValue()))\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">if<\/span>\u00a0(excelMerge.isPrimaryKey())\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0primaryKeyIndex\u00a0=\u00a0i;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">if<\/span>\u00a0(excelMerge.merge())\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mergeColumnIndexList.add(i);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/\/\u00a0\u6ca1\u6709\u6307\u5b9a\u4e3b\u952e\uff0c\u5219\u5f02\u5e38<\/span>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">if<\/span>\u00a0(<span style=\"color: #c678dd; line-height: 26px;\">null<\/span>\u00a0==\u00a0<span style=\"color: #c678dd; line-height: 26px;\">this<\/span>.primaryKeyIndex)\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">throw<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">new<\/span>\u00a0IllegalStateException(<span style=\"color: #98c379; line-height: 26px;\">\"\u4f7f\u7528@ExcelMerge\u6ce8\u89e3\u5fc5\u987b\u6307\u5b9a\u4e3b\u952e\"<\/span>);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n}\n<\/code><\/pre>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><strong>\u5b9a\u4e49\u63a5\u53e3<\/strong><\/p>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u5c06\u81ea\u5b9a\u4e49\u5408\u5e76\u7b56\u7565 <code style=\"font-size: 14px; padding: 2px 4px; border-radius: 4px; margin-right: 2px; margin-left: 2px; background-color: rgba(27, 31, 35, 0.05); font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace; word-break: break-all; color: #009688;\">ExcelMergeStrategy<\/code> \u901a\u8fc7 <code style=\"font-size: 14px; padding: 2px 4px; border-radius: 4px; margin-right: 2px; margin-left: 2px; background-color: rgba(27, 31, 35, 0.05); font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace; word-break: break-all; color: #009688;\">registerWriteHandler<\/code> \u6ce8\u518c\u4e0a\u53bb\uff1a<\/p>\n<pre style=\"margin-top: 10px; margin-bottom: 10px; border-radius: 5px; box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><code style=\"overflow-x: auto; padding: 16px; color: #abb2bf; display: -webkit-box; font-family: Operator Mono, Consolas, Monaco, Menlo, monospace; font-size: 12px; -webkit-overflow-scrolling: touch; padding-top: 15px; background: #282c34; border-radius: 5px;\"><span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0*\u00a0EasyExcel\u5bfc\u5165\u5bfc\u51fa\n\u00a0*\n\u00a0*\u00a0<span style=\"color: #c678dd; line-height: 26px;\">@author<\/span>\u00a0william@StarImmortal\n\u00a0*\/<\/span>\n<span style=\"color: #61aeee; line-height: 26px;\">@RestController<\/span>\n<span style=\"color: #61aeee; line-height: 26px;\">@RequestMapping<\/span>(<span style=\"color: #98c379; line-height: 26px;\">\"\/excel\"<\/span>)\n<span style=\"color: #c678dd; line-height: 26px;\">public<\/span>\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">class<\/span>\u00a0<span style=\"color: #e6c07b; line-height: 26px;\">ExcelController<\/span>\u00a0<\/span>{\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@GetMapping<\/span>(<span style=\"color: #98c379; line-height: 26px;\">\"\/export\/order\"<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">public<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">void<\/span>\u00a0<span style=\"color: #61aeee; line-height: 26px;\">exportOrderExcel<\/span><span style=\"line-height: 26px;\">(HttpServletResponse\u00a0response)<\/span>\u00a0<\/span>{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">try<\/span>\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">this<\/span>.setExcelResponseProp(response,\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"\u8ba2\u5355\u5217\u8868\"<\/span>);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0List&lt;OrderDO&gt;\u00a0orderList\u00a0=\u00a0<span style=\"color: #c678dd; line-height: 26px;\">this<\/span>.getOrderList();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0List&lt;OrderBO&gt;\u00a0exportData\u00a0=\u00a0<span style=\"color: #c678dd; line-height: 26px;\">this<\/span>.convert(orderList);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0EasyExcel.write(response.getOutputStream())\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.head(OrderBO<span style=\"line-height: 26px;\">.<span style=\"color: #c678dd; line-height: 26px;\">class<\/span>)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.<span style=\"color: #e6c07b; line-height: 26px;\">registerWriteHandler<\/span>(<span style=\"color: #e6c07b; line-height: 26px;\">new<\/span>\u00a0<span style=\"color: #e6c07b; line-height: 26px;\">ExcelMergeStrategy<\/span>(<span style=\"color: #e6c07b; line-height: 26px;\">OrderBO<\/span>.<span style=\"color: #e6c07b; line-height: 26px;\">class<\/span>))\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.<span style=\"color: #e6c07b; line-height: 26px;\">excelType<\/span>(<span style=\"color: #e6c07b; line-height: 26px;\">ExcelTypeEnum<\/span>.<span style=\"color: #e6c07b; line-height: 26px;\">XLSX<\/span>)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.<span style=\"color: #e6c07b; line-height: 26px;\">sheet<\/span>(\"\u8ba2\u5355\u5217\u8868\")\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.<span style=\"color: #e6c07b; line-height: 26px;\">doWrite<\/span>(<span style=\"color: #e6c07b; line-height: 26px;\">exportData<\/span>)<\/span>;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\u00a0<span style=\"color: #c678dd; line-height: 26px;\">catch<\/span>\u00a0(IOException\u00a0e)\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">throw<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">new<\/span>\u00a0RuntimeException(e);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0\u8bbe\u7f6e\u54cd\u5e94\u7ed3\u679c\n\u00a0\u00a0\u00a0\u00a0\u00a0*\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0<span style=\"color: #c678dd; line-height: 26px;\">@param<\/span>\u00a0response\u00a0\u00a0\u00a0\u00a0\u54cd\u5e94\u7ed3\u679c\u5bf9\u8c61\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0<span style=\"color: #c678dd; line-height: 26px;\">@param<\/span>\u00a0rawFileName\u00a0\u6587\u4ef6\u540d\n\u00a0\u00a0\u00a0\u00a0\u00a0*\u00a0<span style=\"color: #c678dd; line-height: 26px;\">@throws<\/span>\u00a0UnsupportedEncodingException\u00a0\u4e0d\u652f\u6301\u7f16\u7801\u5f02\u5e38\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/<\/span>\n\u00a0\u00a0\u00a0\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">private<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">void<\/span>\u00a0<span style=\"color: #61aeee; line-height: 26px;\">setExcelResponseProp<\/span><span style=\"line-height: 26px;\">(HttpServletResponse\u00a0response,\u00a0String\u00a0rawFileName)<\/span>\u00a0<span style=\"color: #c678dd; line-height: 26px;\">throws<\/span>\u00a0UnsupportedEncodingException\u00a0<\/span>{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0response.setContentType(<span style=\"color: #98c379; line-height: 26px;\">\"application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"<\/span>);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0response.setCharacterEncoding(<span style=\"color: #98c379; line-height: 26px;\">\"utf-8\"<\/span>);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0String\u00a0fileName\u00a0=\u00a0URLEncoder.encode(rawFileName,\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"UTF-8\"<\/span>).replaceAll(<span style=\"color: #98c379; line-height: 26px;\">\"\\+\"<\/span>,\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"%20\"<\/span>);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0response.setHeader(<span style=\"color: #98c379; line-height: 26px;\">\"Content-disposition\"<\/span>,\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"attachment;filename*=utf-8''\"<\/span>\u00a0+\u00a0fileName\u00a0+\u00a0<span style=\"color: #98c379; line-height: 26px;\">\".xlsx\"<\/span>);\n\u00a0\u00a0\u00a0\u00a0}\n}\n<\/code><\/pre>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><strong>\u6d4b\u8bd5\u63a5\u53e3<\/strong><\/p>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u8fd0\u884c\u9879\u76ee\uff0c\u901a\u8fc7 Postman \u6216\u8005 Apifox \u5de5\u5177\u6765\u8fdb\u884c\u63a5\u53e3\u6d4b\u8bd5<\/p>\n<blockquote style=\"border-top: none; border-bottom: none; font-size: 0.9em; overflow: auto; background: rgba(0, 0, 0, 0.05); padding: 10px 10px 10px 1em; margin-bottom: 20px; margin-top: 20px; border-left-width: 2px; border-left-color: #888888; border-right: 2px solid #888888; color: #777777;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\n<p style=\"font-size: 16px; padding-top: 8px; padding-bottom: 8px; text-align: justify; color: black; line-height: 26px;\">\u6ce8\u610f\uff1a\u5728 Apifox \u4e2d\u8bbf\u95ee\u63a5\u53e3\u540e\u65e0\u6cd5\u76f4\u63a5\u4e0b\u8f7d\uff0c\u9700\u8981\u70b9\u51fb\u8fd4\u56de\u7ed3\u679c\u4e2d\u7684\u4e0b\u8f7d\u56fe\u6807\u624d\u884c\uff0c\u70b9\u51fb\u4e4b\u540e\u65b9\u53ef\u5bf9Excel\u6587\u4ef6\u8fdb\u884c\u4fdd\u5b58\u3002<\/p>\n<\/blockquote>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u63a5\u53e3\u5730\u5740\uff1a<code style=\"font-size: 14px; padding: 2px 4px; border-radius: 4px; margin-right: 2px; margin-left: 2px; background-color: rgba(27, 31, 35, 0.05); font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace; word-break: break-all; color: #009688;\">http:\/\/localhost:8080\/excel\/export\/order<\/code><\/p>\n<figure style=\"margin-top: 10px; margin-bottom: 10px; display: flex; flex-direction: column; justify-content: center; align-items: center;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><img decoding=\"async\" class=\"rich_pages wxw-img lazyload\" style=\"display: block; margin-right: auto; margin-left: auto; height: auto !important;\" data-src=\"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-17\/20230717155517f9f968e28.png\" src=\"https:\/\/s.nmxc.ltd\/sakurairo_vision\/@2.6\/load_svg\/inload.svg\" onerror=\"imgError(this)\" data-ratio=\"0.7018518518518518\" data-type=\"png\" data-w=\"1080\" \/><noscript><img decoding=\"async\" class=\"rich_pages wxw-img\" style=\"display: block; margin-right: auto; margin-left: auto; height: auto !important;\" src=\"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-17\/20230717155517f9f968e28.png\" data-ratio=\"0.7018518518518518\" data-type=\"png\" data-w=\"1080\" \/><\/noscript><\/figure>\n<figure style=\"margin-top: 10px; margin-bottom: 10px; display: flex; flex-direction: column; justify-content: center; align-items: center;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><img decoding=\"async\" class=\"rich_pages wxw-img lazyload\" style=\"display: block; margin-right: auto; margin-left: auto; height: auto !important;\" data-src=\"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-17\/20230717155517e5e5b5b3d.png\" src=\"https:\/\/s.nmxc.ltd\/sakurairo_vision\/@2.6\/load_svg\/inload.svg\" onerror=\"imgError(this)\" data-ratio=\"0.21388888888888888\" data-type=\"png\" data-w=\"1080\" \/><noscript><img decoding=\"async\" class=\"rich_pages wxw-img\" style=\"display: block; margin-right: auto; margin-left: auto; height: auto !important;\" src=\"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-17\/20230717155517e5e5b5b3d.png\" data-ratio=\"0.21388888888888888\" data-type=\"png\" data-w=\"1080\" \/><\/noscript><\/figure>\n<h3 style=\"font-weight: bold; font-size: 20px; margin: 0.6em auto; padding-left: 10px; border-left: 2px solid #009688;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u7b80\u5355\u5bfc\u5165<\/h3>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u4ee5\u5bfc\u5165\u7528\u6237\u4fe1\u606f\u4e3a\u4f8b\uff0c\u63a5\u4e0b\u6765\u624b\u628a\u624b\u6559\u5927\u5bb6\u5982\u4f55\u4f7f\u7528EasyExcel\u5b9e\u73b0\u5bfc\u5165\u529f\u80fd\uff01<\/p>\n<pre style=\"margin-top: 10px; margin-bottom: 10px; border-radius: 5px; box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><code style=\"overflow-x: auto; padding: 16px; color: #abb2bf; display: -webkit-box; font-family: Operator Mono, Consolas, Monaco, Menlo, monospace; font-size: 12px; -webkit-overflow-scrolling: touch; padding-top: 15px; background: #282c34; border-radius: 5px;\"><span style=\"color: #5c6370; font-style: italic; line-height: 26px;\">\/**\n\u00a0*\u00a0EasyExcel\u5bfc\u5165\u5bfc\u51fa\n\u00a0*\n\u00a0*\u00a0<span style=\"color: #c678dd; line-height: 26px;\">@author<\/span>\u00a0william@StarImmortal\n\u00a0*\/<\/span>\n<span style=\"color: #61aeee; line-height: 26px;\">@RestController<\/span>\n<span style=\"color: #61aeee; line-height: 26px;\">@RequestMapping<\/span>(<span style=\"color: #98c379; line-height: 26px;\">\"\/excel\"<\/span>)\n<span style=\"color: #61aeee; line-height: 26px;\">@Api<\/span>(tags\u00a0=\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"EasyExcel\"<\/span>)\n<span style=\"color: #c678dd; line-height: 26px;\">public<\/span>\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">class<\/span>\u00a0<span style=\"color: #e6c07b; line-height: 26px;\">ExcelController<\/span>\u00a0<\/span>{\n\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #61aeee; line-height: 26px;\">@PostMapping<\/span>(<span style=\"color: #98c379; line-height: 26px;\">\"\/import\/user\"<\/span>)\n\u00a0\u00a0\u00a0\u00a0<span style=\"line-height: 26px;\"><span style=\"color: #c678dd; line-height: 26px;\">public<\/span>\u00a0ResponseVO\u00a0<span style=\"color: #61aeee; line-height: 26px;\">importUserExcel<\/span><span style=\"line-height: 26px;\">(@RequestPart(value\u00a0=\u00a0<span style=\"color: #98c379; line-height: 26px;\">\"file\"<\/span>)<\/span>\u00a0MultipartFile\u00a0file)\u00a0<\/span>{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">try<\/span>\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0List&lt;UserDO&gt;\u00a0userList\u00a0=\u00a0EasyExcel.read(file.getInputStream())\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.head(UserDO<span style=\"line-height: 26px;\">.<span style=\"color: #c678dd; line-height: 26px;\">class<\/span>)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.<span style=\"color: #e6c07b; line-height: 26px;\">sheet<\/span>()\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0.<span style=\"color: #e6c07b; line-height: 26px;\">doReadSync<\/span>()<\/span>;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">return<\/span>\u00a0ResponseVO.success(userList);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\u00a0<span style=\"color: #c678dd; line-height: 26px;\">catch<\/span>\u00a0(IOException\u00a0e)\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #c678dd; line-height: 26px;\">return<\/span>\u00a0ResponseVO.error();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n}\n<\/code><\/pre>\n<figure style=\"margin-top: 10px; margin-bottom: 10px; display: flex; flex-direction: column; justify-content: center; align-items: center;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><img decoding=\"async\" class=\"rich_pages wxw-img lazyload\" style=\"display: block; margin-right: auto; margin-left: auto; height: auto !important;\" data-src=\"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-18\/20230717155518c1c158fcc.png\" src=\"https:\/\/s.nmxc.ltd\/sakurairo_vision\/@2.6\/load_svg\/inload.svg\" onerror=\"imgError(this)\" data-ratio=\"0.7314814814814815\" data-type=\"png\" data-w=\"1080\" \/><noscript><img decoding=\"async\" class=\"rich_pages wxw-img\" style=\"display: block; margin-right: auto; margin-left: auto; height: auto !important;\" src=\"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-18\/20230717155518c1c158fcc.png\" data-ratio=\"0.7314814814814815\" data-type=\"png\" data-w=\"1080\" \/><\/noscript><\/figure>\n<h3 style=\"font-weight: bold; font-size: 20px; margin: 0.6em auto; padding-left: 10px; border-left: 2px solid #009688;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u53c2\u8003\u8d44\u6599<\/h3>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u9879\u76ee\u5730\u5740\uff1a<\/p>\n<blockquote style=\"border-top: none; border-bottom: none; font-size: 0.9em; overflow: auto; background: rgba(0, 0, 0, 0.05); padding: 10px 10px 10px 1em; margin-bottom: 20px; margin-top: 20px; border-left-width: 2px; border-left-color: #888888; border-right: 2px solid #888888; color: #777777;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\n<ul class=\"list-paddingleft-1\" style=\"margin-top: 8px; margin-bottom: 8px; padding-left: 25px; color: black;\">\n<li>\n<section style=\"margin-top: 5px; margin-bottom: 5px; line-height: 26px; color: #010101;\">https:\/\/github.com\/alibaba\/easyexcel<\/section>\n<\/li>\n<\/ul>\n<\/blockquote>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u5b98\u65b9\u6587\u6863\uff1a<\/p>\n<blockquote style=\"border-top: none; border-bottom: none; font-size: 0.9em; overflow: auto; background: rgba(0, 0, 0, 0.05); padding: 10px 10px 10px 1em; margin-bottom: 20px; margin-top: 20px; border-left-width: 2px; border-left-color: #888888; border-right: 2px solid #888888; color: #777777;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\n<ul class=\"list-paddingleft-1\" style=\"margin-top: 8px; margin-bottom: 8px; padding-left: 25px; color: black;\">\n<li>\n<section style=\"margin-top: 5px; margin-bottom: 5px; line-height: 26px; color: #010101;\">https:\/\/www.yuque.com\/easyexcel\/doc\/easyexcel<\/section>\n<\/li>\n<\/ul>\n<\/blockquote>\n<p style=\"padding-top: 8px; padding-bottom: 8px; line-height: 26px; text-align: justify;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\u4e00\u5bf9\u591a\u5bfc\u51fa\u4f18\u96c5\u65b9\u6848\uff1a<\/p>\n<blockquote style=\"border-top: none; border-bottom: none; font-size: 0.9em; overflow: auto; background: rgba(0, 0, 0, 0.05); padding: 10px 10px 10px 1em; margin-bottom: 20px; margin-top: 20px; border-left-width: 2px; border-left-color: #888888; border-right: 2px solid #888888; color: #777777;\" data-tool=\"mdnice\u7f16\u8f91\u5668\">\n<ul class=\"list-paddingleft-1\" style=\"margin-top: 8px; margin-bottom: 8px; padding-left: 25px; color: black;\">\n<li>\n<section style=\"margin-top: 5px; margin-bottom: 5px; line-height: 26px; color: #010101;\">https:\/\/github.com\/alibaba\/easyexcel\/issues\/1780<\/section>\n<\/li>\n<\/ul>\n<\/blockquote>\n<\/section>\n<section style=\"margin-bottom: 0px; padding-right: 10px; padding-left: 10px; outline: 0px; color: black; font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, 'PingFang SC', Cambria, Cochin, Georgia, Times, 'Times New Roman', serif; font-size: 16px; letter-spacing: 0px; text-align: left; background-color: #ffffff; line-height: 1.6; word-break: break-word; visibility: visible;\" data-tool=\"mdnice\u7f16\u8f91\u5668\" data-website=\"https:\/\/www.mdnice.com\">\n<h3 style=\"outline: 0px; font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif; letter-spacing: 0.544px; text-align: center; visibility: visible;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><em style=\"outline: 0px; color: #888888; font-size: 12px; letter-spacing: 0.5px; visibility: visible;\">\u6765\u6e90\uff1ablog.csdn.net\/qq991658923\/<\/em><\/h3>\n<h3 style=\"outline: 0px; font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif; letter-spacing: 0.544px; text-align: center; visibility: visible;\" data-tool=\"mdnice\u7f16\u8f91\u5668\"><em style=\"outline: 0px; color: #888888; font-size: 12px; letter-spacing: 0.5px; visibility: visible;\">article\/details\/128153012<\/em><\/h3>\n<p style=\"outline: 0px;\"><em style=\"outline: 0px; color: #888888; font-size: 12px; letter-spacing: 0.5px; visibility: visible;\">\u00a0<\/em><\/p>\n<\/section>\n<section style=\"outline: 0px; letter-spacing: 0.544px; white-space: normal; font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif; visibility: visible;\" data-id=\"94155\">\n<section style=\"outline: 0px; text-align: center; visibility: visible;\">\n<section style=\"outline: 0px; display: inline-block; visibility: visible;\">\n<section data-tool=\"mdnice\u7f16\u8f91\u5668\" data-website=\"https:\/\/www.mdnice.com\"><img decoding=\"async\" class=\"__bg_gif rich_pages wxw-img lazyload\" data-src=\"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-18\/2023071715551810108ae6d.png\" src=\"https:\/\/s.nmxc.ltd\/sakurairo_vision\/@2.6\/load_svg\/inload.svg\" onerror=\"imgError(this)\" data-ratio=\"0.08658008658008658\" data-type=\"gif\" data-w=\"462\" data-width=\"100%\" \/><noscript><img decoding=\"async\" class=\"__bg_gif rich_pages wxw-img\" src=\"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-18\/2023071715551810108ae6d.png\" data-ratio=\"0.08658008658008658\" data-type=\"gif\" data-w=\"462\" data-width=\"100%\" \/><\/noscript><\/section>\n<section data-mpa-template-id=\"1250\" data-mpa-color=\"#ffffff\" data-mpa-category=\"divider\" data-darkmode-bgcolor=\"rgb(36, 36, 36)\" data-darkmode-original-bgcolor=\"rgb(255, 255, 255)\" data-darkmode-color=\"rgb(230, 230, 230)\" data-darkmode-original-color=\"rgb(0, 0, 0)\" data-style=\"margin-right: 0.5em; margin-left: 0.5em; white-space: normal; font-family: -apple-system-font, system-ui, &quot;Helvetica Neue&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Arial, sans-serif; color: rgb(0, 0, 0); letter-spacing: 0px; word-spacing: 2px;\" data-darkmode-bgcolor-15923650965579=\"rgb(36, 36, 36)\" data-darkmode-original-bgcolor-15923650965579=\"rgb(255, 255, 255)\" data-darkmode-color-15923650965579=\"rgb(230, 230, 230)\" data-darkmode-original-color-15923650965579=\"rgb(0, 0, 0)\">\n<section data-darkmode-bgcolor=\"rgb(36, 36, 36)\" data-darkmode-original-bgcolor=\"rgb(255, 255, 255)\" data-darkmode-color=\"rgb(138, 138, 138)\" data-darkmode-original-color=\"rgb(89, 89, 89)\" data-style=\"margin: 10px 0em; color: rgb(89, 89, 89); letter-spacing: 0.544px;\" data-darkmode-bgcolor-15923650965579=\"rgb(36, 36, 36)\" data-darkmode-original-bgcolor-15923650965579=\"rgb(255, 255, 255)\" data-darkmode-color-15923650965579=\"rgb(138, 138, 138)\" data-darkmode-original-color-15923650965579=\"rgb(89, 89, 89)\">\n<section data-darkmode-bgcolor=\"rgb(36, 36, 36)\" data-darkmode-original-bgcolor=\"rgb(255, 255, 255)\" data-darkmode-color=\"rgb(138, 138, 138)\" data-darkmode-original-color=\"rgb(89, 89, 89)\" data-darkmode-bgcolor-15923650965579=\"rgb(36, 36, 36)\" data-darkmode-original-bgcolor-15923650965579=\"rgb(255, 255, 255)\" data-darkmode-color-15923650965579=\"rgb(138, 138, 138)\" data-darkmode-original-color-15923650965579=\"rgb(89, 89, 89)\">\n<section data-darkmode-bgcolor=\"rgb(36, 36, 36)\" data-darkmode-original-bgcolor=\"rgb(255, 255, 255)\" data-darkmode-color=\"rgb(138, 138, 138)\" data-darkmode-original-color=\"rgb(89, 89, 89)\" data-darkmode-bgcolor-15923650965579=\"rgb(36, 36, 36)\" data-darkmode-original-bgcolor-15923650965579=\"rgb(255, 255, 255)\" data-darkmode-color-15923650965579=\"rgb(138, 138, 138)\" data-darkmode-original-color-15923650965579=\"rgb(89, 89, 89)\">\n<section data-mpa-template=\"t\">\n<section><a href=\"http:\/\/mp.weixin.qq.com\/s?__biz=MzA5MTMyNTI0Nw==&amp;mid=2649790544&amp;idx=1&amp;sn=8276b6f92ee370f8498dfc3bfd936da4&amp;chksm=887a2e00bf0da716bc3bdee733bcf98f4b83897a2ede3f394f4544bf0fad9992d4db590a2e04&amp;scene=21#wechat_redirect\" target=\"_blank\" rel=\"noopener\" data-itemshowtype=\"0\" data-linktype=\"2\" rel=\"nofollow\" >1\u3001java\u5b66\u4e60\u8def\u7ebf<\/a><\/p>\n<h1><a href=\"http:\/\/mp.weixin.qq.com\/s?__biz=MzA5MTMyNTI0Nw==&amp;mid=2649806361&amp;idx=1&amp;sn=028f7615fe063acab6307467c5098eeb&amp;chksm=887a6049bf0de95fb7b1aeca6a68da530e38daf57a407786365b6ce91614eff463fc3582ea04&amp;scene=21#wechat_redirect\" target=\"_blank\" rel=\"noopener\" data-itemshowtype=\"0\" data-linktype=\"2\" rel=\"nofollow\" >2\u3001\u8fd9\u4e9b\u5b66\u4e60\u7b14\u8bb0\u592a\u8d5e\u4e86\uff01<\/a><\/h1>\n<\/section>\n<\/section>\n<\/section>\n<\/section>\n<\/section>\n<\/section>\n<\/section>\n<\/section>\n<\/section>\n<p style=\"display: none;\">\n<p>\u672c\u7bc7\u6587\u7ae0\u6765\u6e90\u4e8e\u5fae\u4fe1\u516c\u4f17\u53f7\uff1a\u4f5c\u8005\uff1ajava\u5b66\u4e60 java\u5b66\u4e60 \u5fae\u4fe1\u53f7 javaxxf<br \/>\n\u8f6c\u8f7d\u5730\u5740\uff1ahttps:\/\/mp.weixin.qq.com\/s\/VbSqn1H8dtuaAITBsGhMTA<\/p>\n","raw":"","protected":false},"excerpt":{"rendered":"<p>\u4ecb\u7ecd EasyExcel \u662f\u4e00\u4e2a\u57fa\u4e8e Java \u7684\u3001\u5feb\u901f\u3001\u7b80\u6d01\u3001\u89e3\u51b3\u5927\u6587\u4ef6\u5185\u5b58\u6ea2\u51fa\u7684 Excel \u5904\u7406\u5de5\u5177\u3002\u5b83\u80fd\u8ba9\u4f60\u5728\u4e0d\u7528\u8003\u8651\u6027\u80fd &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"emotion":"","emotion_color":"","title_style":"","license":"","footnotes":""},"categories":[7],"tags":[],"class_list":["post-3011","post","type-post","status-publish","format-standard","hentry","category-spring-boot"],"post_thumbnail_image":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-15\/202307171555150b0b04d3a.png","content_first_image":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-15\/202307171555150b0b04d3a.png","post_medium_image_300":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-15\/202307171555150b0b04d3a.png","post_thumbnail_image_624":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-15\/202307171555150b0b04d3a.png","post_frist_image":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-15\/202307171555150b0b04d3a.png","post_medium_image":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-15\/202307171555150b0b04d3a.png","post_large_image":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-15\/202307171555150b0b04d3a.png","post_full_image":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-15\/202307171555150b0b04d3a.png","post_all_images":[{"imagesurl":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-15\/202307171555150b0b04d3a.png","id":"image0"},{"imagesurl":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-15\/202307171555150b0b04d3a.png","id":"image1"},{"imagesurl":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-16\/20230717155516bbbb83e5c.png","id":"image2"},{"imagesurl":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-16\/20230717155516bbbb83e5c.png","id":"image3"},{"imagesurl":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-16\/20230717155516baba82619.png","id":"image4"},{"imagesurl":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-16\/20230717155516baba82619.png","id":"image5"},{"imagesurl":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-16\/20230717155516050503fcf.png","id":"image6"},{"imagesurl":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-16\/20230717155516050503fcf.png","id":"image7"},{"imagesurl":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-17\/20230717155517f9f968e28.png","id":"image8"},{"imagesurl":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-17\/20230717155517f9f968e28.png","id":"image9"},{"imagesurl":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-17\/20230717155517e5e5b5b3d.png","id":"image10"},{"imagesurl":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-17\/20230717155517e5e5b5b3d.png","id":"image11"},{"imagesurl":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-18\/20230717155518c1c158fcc.png","id":"image12"},{"imagesurl":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-18\/20230717155518c1c158fcc.png","id":"image13"},{"imagesurl":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-18\/2023071715551810108ae6d.png","id":"image14"},{"imagesurl":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/default\/nine\/2023-07-17\/15-55-18\/2023071715551810108ae6d.png","id":"image15"}],"videoAdId":"","listAd":"0","listAdId":"","listAdEvery":6,"total_comments":0,"category_name":"Spring Boot","post_date":"2023-07-17","like_count":"0","praiseWord":"\u9f13\u52b1","copyright_state":"","excitationAd":"0","rewardedVideoAdId":"","detailAdId":"","detailAd":"0","enterpriseMinapp":"0","audios":[],"postImageUrl":"https:\/\/wp-moto-1258805347.cos.ap-shanghai.myqcloud.com\/2023\/05\/20230519082947553.jpg","avatarurls":[],"related_posts":null,"pageviews":305,"next_post_id":3020,"next_post_title":"\u6570\u636e\u8131\u654f\u7684 3 \u79cd\u5e38\u89c1\u65b9\u6848\uff0c\u597d\u7528\u5230\u7206\uff01","previous_post_id":3004,"previous_post_title":"vue+springboot+websocket\u5b9e\u73b0\u6d88\u606f\u901a\u77e5\uff0c\u542b\u5e94\u7528\u573a\u666f","_links":{"self":[{"href":"https:\/\/xinchewhd.com.cn\/index.php\/wp-json\/wp\/v2\/posts\/3011","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xinchewhd.com.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xinchewhd.com.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xinchewhd.com.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/xinchewhd.com.cn\/index.php\/wp-json\/wp\/v2\/comments?post=3011"}],"version-history":[{"count":0,"href":"https:\/\/xinchewhd.com.cn\/index.php\/wp-json\/wp\/v2\/posts\/3011\/revisions"}],"wp:attachment":[{"href":"https:\/\/xinchewhd.com.cn\/index.php\/wp-json\/wp\/v2\/media?parent=3011"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xinchewhd.com.cn\/index.php\/wp-json\/wp\/v2\/categories?post=3011"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xinchewhd.com.cn\/index.php\/wp-json\/wp\/v2\/tags?post=3011"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}