git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1720411 13f79535-47bb-0310-9956-ffa450edef68tags/REL_3_14_BETA1_RC2
@@ -19,6 +19,7 @@ package org.apache.poi; | |||
import java.io.ByteArrayInputStream; | |||
import java.io.ByteArrayOutputStream; | |||
import java.io.File; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
import java.io.OutputStream; | |||
@@ -301,6 +302,10 @@ public abstract class POIDocument { | |||
* Writes the document out to the specified output stream. The | |||
* stream is not closed as part of this operation. | |||
* | |||
* Note - if the Document was opened from a {@link File} rather | |||
* than an {@link InputStream}, you <b>must</b> write out to | |||
* a different file, overwriting via an OutputStream isn't possible. | |||
* | |||
* @param out The stream to write to. | |||
* | |||
* @throws IOException thrown on errors writing to the stream |
@@ -17,6 +17,7 @@ | |||
package org.apache.poi; | |||
import java.io.Closeable; | |||
import java.io.File; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
import java.io.OutputStream; | |||
@@ -196,6 +197,10 @@ public abstract class POIXMLDocument extends POIXMLDocumentPart implements Close | |||
/** | |||
* Write out this document to an Outputstream. | |||
* | |||
* Note - if the Document was opened from a {@link File} rather | |||
* than an {@link InputStream}, you <b>must</b> write out to | |||
* a different file, overwriting via an OutputStream isn't possible. | |||
* | |||
* @param stream - the java OutputStream you wish to write the file to | |||
* | |||
* @exception IOException if anything can't be written. |
@@ -2850,4 +2850,35 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues { | |||
assertNotNull(wbBack); | |||
wbBack.close(); | |||
} | |||
public void test58731() throws Exception { | |||
Workbook wb = XSSFTestDataSamples.openSampleWorkbook("58731.xlsx"); | |||
Sheet sheet = wb.createSheet("Java Books"); | |||
Object[][] bookData = { | |||
{"Head First Java", "Kathy Serria", 79}, | |||
{"Effective Java", "Joshua Bloch", 36}, | |||
{"Clean Code", "Robert martin", 42}, | |||
{"Thinking in Java", "Bruce Eckel", 35}, | |||
}; | |||
int rowCount = 0; | |||
for (Object[] aBook : bookData) { | |||
Row row = sheet.createRow(++rowCount); | |||
int columnCount = 0; | |||
for (Object field : aBook) { | |||
Cell cell = row.createCell(++columnCount); | |||
if (field instanceof String) { | |||
cell.setCellValue((String) field); | |||
} else if (field instanceof Integer) { | |||
cell.setCellValue((Integer) field); | |||
} | |||
} | |||
} | |||
Workbook wb2 = XSSFTestDataSamples.writeOutAndReadBack(wb); | |||
sheet = wb.getSheet("Java Books"); | |||
assertEquals(bookData[0][0], sheet.getRow(0).getCell(0).getStringCellValue()); | |||
} | |||
} |