import org.apache.poi.ss.ITestDataProvider;
import org.apache.poi.ss.SpreadsheetVersion;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
+import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.streaming.SXSSFSheet;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFFormulaEvaluator;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
return wb;
}
+ @Override
+ public void trackColumnsForAutosizing(Sheet sheet, int...columns) {
+ for (int cn : columns) {
+ ((SXSSFSheet)sheet).trackColumnForAutoSizing(cn);
+ }
+ }
+
@Override
public FormulaEvaluator createFormulaEvaluator(Workbook wb) {
return new XSSFFormulaEvaluator(((SXSSFWorkbook) wb).getXSSFWorkbook());
import org.apache.poi.ss.ITestDataProvider;
import org.apache.poi.ss.SpreadsheetVersion;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
+import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFFormulaEvaluator;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
return new XSSFWorkbook();
}
+ @Override
+ public void trackColumnsForAutosizing(Sheet sheet, int...columns) {}
+
@Override
public FormulaEvaluator createFormulaEvaluator(Workbook wb) {
return new XSSFFormulaEvaluator((XSSFWorkbook) wb);
import org.apache.poi.ss.ITestDataProvider;
import org.apache.poi.ss.SpreadsheetVersion;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
+import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
/**
return new HSSFWorkbook();
}
+ @Override
+ public void trackColumnsForAutosizing(Sheet sheet, int...columns) {}
+
@Override
public FormulaEvaluator createFormulaEvaluator(Workbook wb) {
return new HSSFFormulaEvaluator((HSSFWorkbook) wb);
package org.apache.poi.ss;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
+import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
/**
* @return an instance of Workbook
*/
Workbook createWorkbook();
+
+ /**
+ * Only matters for SXSSF - enables tracking of the column
+ * widths so that autosizing can work. No-op on others.
+ */
+ void trackColumnsForAutosizing(Sheet sheet, int...columns);
/**
* Creates the corresponding {@link FormulaEvaluator} for the