Convert xls to xlsx leading server error

Hi, while converting xls file into xlsx format on my computer, i get some warning like this “Warning: the font “Times” is not available, so “Lucida Bright” has been substituted, but may have unexpected appearance or behavor. Re-enable the “Times” font to remove this warning.” And when i run the conversation on server, i met some error and it used a lot of memory and net link. I want to know why and how to handle this. Below is the server error:

022-05-26 21:30:14.824|||ERROR|ali-metrics-pool-1-thread-2|o.g.j.server.ServerRuntime$Responder|An I/O error has occurred while writing a response message entity to the container output stream.

org.glassfish.jersey.server.internal.process.MappableException: java.io.IOException: 断开的管道
  at org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor.aroundWriteTo(MappableExceptionWrapperInterceptor.java:96)
  at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:162)
  at org.glassfish.jersey.message.internal.MessageBodyFactory.writeTo(MessageBodyFactory.java:1154)
  at org.glassfish.jersey.server.ServerRuntime$Responder.writeResponse(ServerRuntime.java:571)
  at org.glassfish.jersey.server.ServerRuntime$Responder.processResponse(ServerRuntime.java:378)
  at org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:368)
  at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:262)
  at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
  at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
  at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
  at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
  at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
  at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:319)
  at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:236)
  at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1028)
  at com.alibaba.metrics.rest.server.jersey.HttpHandlerContainer.handle(HttpHandlerContainer.java:122)
  at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:79)
  at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:83)
  at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:82)
  at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:675)
  at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:79)
  at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:647)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:627)
  at java.lang.Thread.run(Thread.java:882)
Caused by: java.io.IOException: 断开的管道
  at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
  at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
  at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
  at sun.nio.ch.IOUtil.write(IOUtil.java:65)
  at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
  at sun.net.httpserver.Request$WriteStream.write(Request.java:391)
  at sun.net.httpserver.ChunkedOutputStream.writeChunk(ChunkedOutputStream.java:125)
  at sun.net.httpserver.ChunkedOutputStream.write(ChunkedOutputStream.java:87)
  at sun.net.httpserver.PlaceholderOutputStream.write(ExchangeImpl.java:444)
  at java.io.ByteArrayOutputStream.writeTo(ByteArrayOutputStream.java:167)
  at org.glassfish.jersey.message.internal.CommittingOutputStream.flushBuffer(CommittingOutputStream.java:307)
  at org.glassfish.jersey.message.internal.CommittingOutputStream.write(CommittingOutputStream.java:232)
  at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
  at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
  at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)
  at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
  at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
  at java.io.BufferedWriter.flush(BufferedWriter.java:254)
  at org.glassfish.jersey.message.internal.ReaderWriter.writeToAsString(ReaderWriter.java:192)
  at org.glassfish.jersey.message.internal.AbstractMessageReaderWriterProvider.writeToAsString(AbstractMessageReaderWriterProvider.java:129)
  at org.glassfish.jersey.message.internal.StringMessageProvider.writeTo(StringMessageProvider.java:99)
  at org.glassfish.jersey.message.internal.StringMessageProvider.writeTo(StringMessageProvider.java:59)
  at org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.invokeWriteTo(WriterInterceptorExecutor.java:263)
  at org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.aroundWriteTo(WriterInterceptorExecutor.java:250)
  at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:162)
  at org.glassfish.jersey.filter.LoggingFilter.aroundWriteTo(LoggingFilter.java:293)
  at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:162)
  at org.glassfish.jersey.server.internal.JsonWithPaddingInterceptor.aroundWriteTo(JsonWithPaddingInterceptor.java:103)
  at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:162)
  at org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor.aroundWriteTo(MappableExceptionWrapperInterceptor.java:88)
  ... 24 common frames omitted

The cells-java version is 22.4, 13.xls.zip (1.2 MB)
thanks for any response.

@qweer,

I simply tested your scenario/case in a console application using intelliJ Idea, it works fine and I do not find any issue. I did use the following sample code to convert your template XLS file to XLSX file format, it works absolutely fine and I do not get any warning message or other performance (regarding memory consumption, cpu usage, etc.) issue. I am using our latest version/fix: Aspose.Cells for Java v22.5 (please try it):
e.g.
Sample code:

Workbook workbook = new Workbook("f:\\files\\13.xls");
workbook.save("f:\\out1.xlsx",  SaveFormat.XLSX);

The output XLSX file is fine tuned. Please find it attached for your reference.
files1.zip (1.3 MB)

Seeing the stack trace, the error does not seem to be related to Aspose.Cells API.

Maybe it is because of some remote resources, is there any way to disable remote resources like
IResourceLoadingCallback in Aspose.words?

@qweer,

I am afraid, there is no such IResourceLoadingCallback interface available in Aspose.Cells for Java.

I am doing a stress test before my group deciding to buy your product and i meet the error on server, so it’s very important for me to solve the problem, or at least i need to know the cause to avoid it. Actually, when i do a stress test with another simple xls file which has a similar size, it works well. So i think maybe it is because of some resources which need to download from the internet but is failed, could you give me some advice for getting the cause of the problem? Thanks a lot.

As it works fine with similar other file so it might be a configuration issue on the server environment on your end. The issue may not be related to Aspose.Cells API. Anyways, we will further check if we could trace the issue for you. In the meantime, you may also browse relevant threads online (see example threads below) to adopt respective measures to try to figure your issue out.

Thanks for your reply. Here i have another question, if i want to use java and c++ together, do i need to buy your product twice?

@qweer,

You would purchase two different products (APIs), e.g. Aspose.Cells for Java and Aspose.Cells for C++. For more information and guidance, please post query or contact our sales team in Aspose.Purchase section.