Excel エクスポートは docker 環境では常に失敗する

Excel エクスポートは docker 環境では常に失敗する

Excel のエクスポートは、docker 環境では常に失敗します。最も直接的な原因は、中国語フォントがインストールされていないことです。解決策は次のとおりです。

DOCKER環境に中国語フォントがインストールされていないため、インストールする必要があります。

java.lang.NullPointerException: null
2020/5/29 午前 8:40:11 sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)
2020/5/29 午前 8:40:11 sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219)
2020/5/29 午前 8:40:11 sun.awt.FontConfiguration.init(FontConfiguration.java:107)
2020/5/29 午前 8:40:11 sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:776)
2020/5/29 午前 8:40:11 sun.font.SunFontManager$2.run(SunFontManager.java:431)
2020/5/29 午前 8:40:11 java.security.AccessController.doPrivileged(ネイティブ メソッド)
2020/5/29 午前 8:40:11 sun.font.SunFontManager.<init>(SunFontManager.java:376)
2020/5/29 午前 8:40:11 sun.awt.X11FontManager.<init>(X11FontManager.java:57)
2020/5/29 午前 8:40:11 sun.reflect.NativeConstructorAccessorImpl.newInstance0(ネイティブ メソッド)
2020/5/29 午前 8:40:11 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
2020/5/29 午前 8:40:11、sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
2020/5/29 午前 8:40:11 java.lang.reflect.Constructor.newInstance(Constructor.java:422)
2020/5/29 午前 8:40:11 java.lang.Class.newInstance(Class.java:442)
2020/5/29 午前 8:40:11 sun.font.FontManagerFactory$1.run(FontManagerFactory.java:83)
2020/5/29 午前 8:40:11 java.security.AccessController.doPrivileged(ネイティブ メソッド)
2020/5/29 午前 8:40:11 sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
2020/5/29 午前 8:40:11 java.awt.Font.getFont2D(Font.java:491)
2020/5/29 午前 8:40:11 java.awt.Font.canDisplayUpTo(Font.java:2060)
2020/5/29 午前 8:40:11 java.awt.font.TextLayout.singleFont(TextLayout.java:470)
2020/5/29 午前 8:40:11 java.awt.font.TextLayout.<init>(TextLayout.java:531)
2020/5/29 午前 8:40:11 org.apache.poi.ss.util.SheetUtil.getDefaultCharWidth(SheetUtil.java:254)
2020/5/29 午前 8:40:11 org.apache.poi.xssf.streaming.AutoSizeColumnTracker.<init>(AutoSizeColumnTracker.java:117)
2020/5/29 午前 8:40:11 org.apache.poi.xssf.streaming.SXSSFSheet.<init>(SXSSFSheet.java:77)
2020/5/29 午前 8:40:11 org.apache.poi.xssf.streaming.SXSSFWorkbook.createAndRegisterSXSSFSheet(SXSSFWorkbook.java:636)
2020/5/29 午前 8:40:11 org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheet(SXSSFWorkbook.java:657)
2020/5/29 午前 8:40:11 org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheet(SXSSFWorkbook.java:71)
2020/5/29 午前 8:40:11 com.chanjet.dsf.util.ExcelUtil.exportExcel(ExcelUtil.java:783)
2020/5/29 午前 8:40:11 com.chanjet.dsf.base.BaseService.uploadExcel(BaseService.java:89)
2020/5/29 午前 8:40:11 com.chanjet.dsf.goods.service.impl.GoodsServiceImpl.importExcel(GoodsServiceImpl.java:340)
2020/5/29 午前 8:40:11 com.chanjet.dsf.goods.service.impl.GoodsServiceImpl$$FastClassBySpringCGLIB$$d268cc51.invoke(<生成>)
2020/5/29 午前 8:40:11 org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) で
2020/5/29 午前 8:40:11 org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685)
2020/5/29 午前 8:40:11 com.chanjet.dsf.goods.service.impl.GoodsServiceImpl$$EnhancerBySpringCGLIB$$a0a512ec.importExcel(<生成>)
2020/5/29 午前 8:40:11 com.chanjet.dsf.goods.controller.GoodsController.importExcel(GoodsController.java:105)
2020/5/29 午前 8:40:11 sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド)
2020/5/29 午前 8:40:11 に sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2020/5/29 午前 8:40:11 に sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) で
2020/5/29 午前 8:40:11 java.lang.reflect.Method.invoke(Method.java:497)
2020/5/29 午前 8:40:11 org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) で
2020/5/29 午前 8:40:11 org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
2020/5/29 午前 8:40:11 org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
2020/5/29 午前 8:40:11 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:879) で
2020/5/29 午前 8:40:11 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)
2020/5/29 午前 8:40:11 org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
2020/5/29 午前 8:40:11 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
2020/5/29 午前 8:40:11 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
2020/5/29 午前 8:40:11 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
2020/5/29 午前 8:40:11 org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
2020/5/29 午前 8:40:11 javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
2020/5/29 午前 8:40:11 org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
2020/5/29 午前 8:40:11 javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
2020/5/29 午前 8:40:11 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
2020/5/29 午前 8:40:11 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
2020/5/29 午前 8:40:11 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
2020/5/29 午前 8:40:11 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
2020/5/29 午前 8:40:11 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
2020/5/29 午前 8:40:11 com.chanjet.dsf.filter.RefreshContextFilter.doFilter(RefreshContextFilter.java:29)
2020/5/29 午前 8:40:11 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
2020/5/29 午前 8:40:11 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
2020/5/29 午前 8:40:11 com.chanjet.dsf.filter.WebLogMDCFilter.doFilter(WebLogMDCFilter.java:27)
2020/5/29 午前 8:40:11 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
2020/5/29 午前 8:40:11 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
2020/5/29 午前 8:40:11 org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
2020/5/29 午前 8:40:11 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
2020/5/29 午前 8:40:11 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
2020/5/29 午前 8:40:11 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
2020/5/29 午前 8:40:11 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) で
2020/5/29 午前 8:40:11 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
2020/5/29 午前 8:40:11 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
2020/5/29 午前 8:40:11 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
2020/5/29 午前 8:40:11 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
2020/5/29 午前 8:40:11 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
2020/5/29 午前 8:40:11 org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:747)
2020/5/29 午前 8:40:11 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
2020/5/29 午前 8:40:11 org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367)
2020/5/29 午前 8:40:11 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
2020/5/29 午前 8:40:11 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
2020/5/29 午前 8:40:11 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639)
2020/5/29 午前 8:40:11 org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
2020/5/29 午前 8:40:11 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
2020/5/29 午前 8:40:11 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
2020/5/29 午前 8:40:11 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
2020/5/29 午前 8:40:11 java.lang.Thread.run(Thread.java:745)

docker 環境で Excel エクスポートが常に失敗する問題については、これでこの記事は終わりです。docker excel 失敗に関するその他の関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • IDEA JetBrains Monoフォントの紹介とインストールチュートリアル(詳細説明)
  • WindowsからLinuxシステムにフォントをインストールする方法
  • Linuxシステムでのフォントのインストールの詳細な紹介
  • Centos6に中国語フォントをインストールする方法
  • バッチ処理を使用してフォントを一括インストールするための bat ファイル

<<:  Vue3 手動カプセル化ポップアップ ボックス コンポーネント メッセージ メソッド

>>:  MySQLデータ内の多数の改行と復帰に対する解決策

推薦する

JavaScript のガベージコレクションの仕組みの詳細な説明

目次ガベージコレクション (GC) はなぜ必要なのでしょうか?ガベージコレクションとは廃棄物の発生ガ...

Vueドロップダウンリストの2つの実装方法の比較

Vueドロップダウンリストの2つの実装最初の方法はv-forを使用する <el-select ...

mysql と oracle のデフォルトのトランザクション分離レベルの説明

1. トランザクション特性(ACID) (1)原子性トランザクションに関係するプログラムによって実行...

Vue nextTickの原理の分析

目次イベントループmiscroTask (マイクロタスク) UI レンダリング (重要なポイント)次...

MySQL 8.0.20でNavicatをインストールして接続する方法と注意すべき点

注意事項1. まず、mysql インストール ディレクトリに次の内容の my.ini ファイルを作成...

Centos7 FFmpeg オーディオ/ビデオ ツールのインストールに関する簡単なドキュメント

ffmpeg は非常に強力なオーディオおよびビデオ処理ツールです。公式 Web サイトは http:...

Reactのコンポーネント共同利用実装

目次ネスティング親子コンポーネント通信ブラザーコンポーネント通信撤回するReact の Linked...

Echart Bar の 2 列チャート スタイルの最も完全な詳細な説明

目次序文インストールと設定1. Echartsをインストールする2. Echartsをグローバルに導...

角丸四角形の HTML+CSS 実装コード

退屈していたので、突然角丸四角形の実装を思いつきました。しかし、私たちはこの話題についてあまりにも長...

Windows10 mysql 8.0.12 非インストール版 設定 起動方法

この記事では、MySQL 8.0.12のインストールされていないバージョンを設定して起動するための具...

Linuxのシグナルメカニズムについての簡単な説明

目次1. シグナルリスト1.1. リアルタイム信号と非リアルタイム信号1.2 信号ステータス1.3 ...

優れたグラフィックデザイナーが習得すべき7つのスキル

1》ウェブデザインが得意であること2》Webページのデザイン方法を知る3》計画する4. SEOを理解...

MySQLにおけるテーブルインデックスの定義方法と導入

概要インデックスは、テーブル内の 1 つ以上の列に基づいて DBMS によって特定の順序で作成される...

モバイルデバイス上の 1px 境界線を解決する最善の方法 (推奨)

モバイル デバイス向けに開発する場合、Retina 画面上で要素の境界線が太くなるという問題に遭遇す...

CSS3で蓮の花が咲くアニメーション効果を実現

まずは効果を見てみましょう:この効果は非常に華やかに見えますが、原理は複雑ではありません。1 枚の花...