Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 按顺序将Excel文件(保存在多个blob中)读取到一个InputStream中_Java_Sql_Excel_Hibernate_Memory - Fatal编程技术网

Java 按顺序将Excel文件(保存在多个blob中)读取到一个InputStream中

Java 按顺序将Excel文件(保存在多个blob中)读取到一个InputStream中,java,sql,excel,hibernate,memory,Java,Sql,Excel,Hibernate,Memory,我需要处理大的Excel文件。我的问题是堆空间,尤其是XLS格式。即使我有一个apose LighCellsAPI来按顺序解析它,我也需要从chuncks中的数据库中检索该文件 到目前为止,我在数据库中有40kb的文件块。我有一个Import表(存储与导入相关的一般信息,例如开始和结束时间、数据类型等)和一个ImportData表(包含作为blob的数据块)。我在导入和导入数据之间有一对多关系: <hibernate-mapping> <class name="com.co

我需要处理大的
Excel
文件。我的问题是
堆空间
,尤其是
XLS
格式。即使我有一个
apose LighCells
API来按顺序解析它,我也需要从chuncks中的数据库中检索该文件

到目前为止,我在数据库中有40kb的文件块。我有一个
Import
表(存储与导入相关的一般信息,例如开始和结束时间、数据类型等)和一个
ImportData
表(包含作为blob的数据块)。我在
导入
导入数据
之间有一对多关系:

<hibernate-mapping>   <class name="com.company.import.pojos.Import
table="IMPORT_TABLE">
    <id name="id" type="integer">
      <column name="ID" />
      <generator class="some.id.generator.IdGenerator"></generator>
    </id>

    <property name="startTime" type="timestamp">
      <column name="START" />
    </property>

    <property name="endTime" type="timestamp">
      <column name="END" />
    </property>

    <property lazy="false" name="datatzpe" type="com.company.import.enums.ImportDataType">
      <column name="DATATYPE" />
    </property>

    <bag name="importDataList" table="IMPORT_DATA" lazy="true" cascade="all" inverse="false">
      <key column="IMPORT_TABLE_ID"/>
      <one-to-many class="com.company.import.pojos.ImportData"/>
    </bag>

  </class> </hibernate-mapping>


<hibernate-mapping>   <class
name="com.company.import.pojos.ImportData" table="IMPORT_DATA">

    <id name="id" type="integer">
      <column name="ID" />
      <generator class="some.id.generator.IdGenerator"></generator>
    </id>

    <property name="importTableID" type="integer">
      <column name="IMPORT_TABLE_ID" />
    </property>

    <property name="data" type="binary">
      <column name="DATA" />
    </property>

    <property name="order" type="integer">
      <column name="ORDER" />
    </property>   </class> </hibernate-mapping>

您可能需要实现自己的InputStream,它将多个IS作为一个来处理,当您到达一个IS的末尾时,您可以关闭它并选择下一个来填充读取缓冲区的其余部分

我不知道这种行为的任何实现


您的文件有多大?

我们希望支持至少100 MB的文件(XLS和XLSX格式)。XLS格式更难按顺序处理,我不知道
Aspose
是否可以这样做。现在我正在尝试为处理API提供一个
InputStream
,它可以处理几个blob。
InputStream inStream = ....;// get the input stream somehow
Workbook workbook = new Workbook(inStream);