请教一下导出excel的问题
想请教一个问题,就是有时候需要导出的数据量很大,如果做分批次导出到同一个表的同一个sheet里面,XSSFWorkbook.write(out),会不会释放上一次缓存的数据,应该是没有的,楼主可以看下源码。
/// <summary>
/// Write out this workbook to an Outputstream.Constructs
/// a new POI POIFSFileSystem, passes in the workbook binary representationand
/// Writes it out.
/// </summary>
/// <param name="stream">the java OutputStream you wish to Write the XLS to</param>
public override void Write(Stream stream)
{
byte[] bytes = GetBytes();
POIFSFileSystem fs = new POIFSFileSystem();
// For tracking what we've written out, used if we're
//going to be preserving nodes
List<string> excepts = new List<string>(1);
MemoryStream newMemoryStream = new MemoryStream(bytes);
// Write out the Workbook stream
fs.CreateDocument(newMemoryStream, "Workbook");
// Write out our HPFS properties, if we have them
WriteProperties(fs, excepts);
if (preserveNodes)
{
// Don't Write out the old Workbook, we'll be doing our new one
excepts.Add("Workbook");
// If the file had WORKBOOK instead of Workbook, we'll Write it
//out correctly shortly, so don't include the old one
excepts.Add("WORKBOOK");
// Copy over all the other nodes to our new poifs
CopyNodes(this.filesystem, fs, excepts);
}
fs.WriteFileSystem(stream);
fs.Dispose();
newMemoryStream.Dispose();
bytes = null;
}
nextuser 发表于 2016-11-15 13:40
应该是没有的,楼主可以看下源码。
///
/// Write out this workb ...
确实是没有,谢谢了,换成使用csv了
页:
[1]