Fix inconsistent indents
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1611947 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c392b4fa72
commit
0986f32d46
@ -25,36 +25,35 @@ import org.apache.poi.ss.formula.SheetNameFormatter;
|
||||
* @author Josh Micich
|
||||
*/
|
||||
final class ExternSheetNameResolver {
|
||||
private ExternSheetNameResolver() {
|
||||
// no instances of this class
|
||||
}
|
||||
|
||||
private ExternSheetNameResolver() {
|
||||
// no instances of this class
|
||||
}
|
||||
|
||||
public static String prependSheetName(FormulaRenderingWorkbook book, int field_1_index_extern_sheet, String cellRefText) {
|
||||
ExternalSheet externalSheet = book.getExternalSheet(field_1_index_extern_sheet);
|
||||
StringBuffer sb;
|
||||
if (externalSheet != null) {
|
||||
String wbName = externalSheet.getWorkbookName();
|
||||
String sheetName = externalSheet.getSheetName();
|
||||
if (wbName != null) {
|
||||
sb = new StringBuffer(wbName.length() + sheetName.length() + cellRefText.length() + 4);
|
||||
SheetNameFormatter.appendFormat(sb, wbName, sheetName);
|
||||
} else {
|
||||
public static String prependSheetName(FormulaRenderingWorkbook book, int field_1_index_extern_sheet, String cellRefText) {
|
||||
ExternalSheet externalSheet = book.getExternalSheet(field_1_index_extern_sheet);
|
||||
StringBuffer sb;
|
||||
if (externalSheet != null) {
|
||||
String wbName = externalSheet.getWorkbookName();
|
||||
String sheetName = externalSheet.getSheetName();
|
||||
if (wbName != null) {
|
||||
sb = new StringBuffer(wbName.length() + sheetName.length() + cellRefText.length() + 4);
|
||||
SheetNameFormatter.appendFormat(sb, wbName, sheetName);
|
||||
} else {
|
||||
sb = new StringBuffer(sheetName.length() + cellRefText.length() + 4);
|
||||
SheetNameFormatter.appendFormat(sb, sheetName);
|
||||
}
|
||||
} else {
|
||||
String sheetName = book.getSheetNameByExternSheet(field_1_index_extern_sheet);
|
||||
sb = new StringBuffer(sheetName.length() + cellRefText.length() + 4);
|
||||
if (sheetName.length() < 1) {
|
||||
// What excel does if sheet has been deleted
|
||||
sb.append("#REF"); // note - '!' added just once below
|
||||
} else {
|
||||
SheetNameFormatter.appendFormat(sb, sheetName);
|
||||
}
|
||||
}
|
||||
sb.append('!');
|
||||
sb.append(cellRefText);
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
String sheetName = book.getSheetNameByExternSheet(field_1_index_extern_sheet);
|
||||
sb = new StringBuffer(sheetName.length() + cellRefText.length() + 4);
|
||||
if (sheetName.length() < 1) {
|
||||
// What excel does if sheet has been deleted
|
||||
sb.append("#REF"); // note - '!' added just once below
|
||||
} else {
|
||||
SheetNameFormatter.appendFormat(sb, sheetName);
|
||||
}
|
||||
}
|
||||
sb.append('!');
|
||||
sb.append(cellRefText);
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
|
@ -39,130 +39,130 @@ import org.apache.poi.ss.formula.ptg.Ref3DPtg;
|
||||
* Tests for {@link EventWorkbookBuilder}
|
||||
*/
|
||||
public final class TestEventWorkbookBuilder extends TestCase {
|
||||
private MockHSSFListener mockListen;
|
||||
private SheetRecordCollectingListener listener;
|
||||
private MockHSSFListener mockListen;
|
||||
private SheetRecordCollectingListener listener;
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
HSSFRequest req = new HSSFRequest();
|
||||
mockListen = new MockHSSFListener();
|
||||
listener = new SheetRecordCollectingListener(mockListen);
|
||||
req.addListenerForAllRecords(listener);
|
||||
@Override
|
||||
public void setUp() {
|
||||
HSSFRequest req = new HSSFRequest();
|
||||
mockListen = new MockHSSFListener();
|
||||
listener = new SheetRecordCollectingListener(mockListen);
|
||||
req.addListenerForAllRecords(listener);
|
||||
|
||||
HSSFEventFactory factory = new HSSFEventFactory();
|
||||
try {
|
||||
InputStream is = HSSFTestDataSamples.openSampleFileStream("3dFormulas.xls");
|
||||
POIFSFileSystem fs = new POIFSFileSystem(is);
|
||||
factory.processWorkbookEvents(req, fs);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
HSSFEventFactory factory = new HSSFEventFactory();
|
||||
try {
|
||||
InputStream is = HSSFTestDataSamples.openSampleFileStream("3dFormulas.xls");
|
||||
POIFSFileSystem fs = new POIFSFileSystem(is);
|
||||
factory.processWorkbookEvents(req, fs);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public void testBasics() {
|
||||
assertNotNull(listener.getSSTRecord());
|
||||
assertNotNull(listener.getBoundSheetRecords());
|
||||
assertNotNull(listener.getExternSheetRecords());
|
||||
}
|
||||
public void testBasics() {
|
||||
assertNotNull(listener.getSSTRecord());
|
||||
assertNotNull(listener.getBoundSheetRecords());
|
||||
assertNotNull(listener.getExternSheetRecords());
|
||||
}
|
||||
|
||||
public void testGetStubWorkbooks() {
|
||||
assertNotNull(listener.getStubWorkbook());
|
||||
assertNotNull(listener.getStubHSSFWorkbook());
|
||||
}
|
||||
public void testGetStubWorkbooks() {
|
||||
assertNotNull(listener.getStubWorkbook());
|
||||
assertNotNull(listener.getStubHSSFWorkbook());
|
||||
}
|
||||
|
||||
public void testContents() {
|
||||
assertEquals(2, listener.getSSTRecord().getNumStrings());
|
||||
assertEquals(3, listener.getBoundSheetRecords().length);
|
||||
assertEquals(1, listener.getExternSheetRecords().length);
|
||||
public void testContents() {
|
||||
assertEquals(2, listener.getSSTRecord().getNumStrings());
|
||||
assertEquals(3, listener.getBoundSheetRecords().length);
|
||||
assertEquals(1, listener.getExternSheetRecords().length);
|
||||
|
||||
assertEquals(3, listener.getStubWorkbook().getNumSheets());
|
||||
assertEquals(3, listener.getStubWorkbook().getNumSheets());
|
||||
|
||||
InternalWorkbook ref = listener.getStubWorkbook();
|
||||
assertEquals("Sh3", ref.findSheetNameFromExternSheet(0));
|
||||
assertEquals("Sheet1", ref.findSheetNameFromExternSheet(1));
|
||||
assertEquals("S2", ref.findSheetNameFromExternSheet(2));
|
||||
}
|
||||
InternalWorkbook ref = listener.getStubWorkbook();
|
||||
assertEquals("Sh3", ref.findSheetNameFromExternSheet(0));
|
||||
assertEquals("Sheet1", ref.findSheetNameFromExternSheet(1));
|
||||
assertEquals("S2", ref.findSheetNameFromExternSheet(2));
|
||||
}
|
||||
|
||||
public void testFormulas() {
|
||||
public void testFormulas() {
|
||||
|
||||
FormulaRecord[] fRecs = mockListen.getFormulaRecords();
|
||||
FormulaRecord[] fRecs = mockListen.getFormulaRecords();
|
||||
|
||||
// Check our formula records
|
||||
assertEquals(6, fRecs.length);
|
||||
// Check our formula records
|
||||
assertEquals(6, fRecs.length);
|
||||
|
||||
InternalWorkbook stubWB = listener.getStubWorkbook();
|
||||
assertNotNull(stubWB);
|
||||
HSSFWorkbook stubHSSF = listener.getStubHSSFWorkbook();
|
||||
assertNotNull(stubHSSF);
|
||||
InternalWorkbook stubWB = listener.getStubWorkbook();
|
||||
assertNotNull(stubWB);
|
||||
HSSFWorkbook stubHSSF = listener.getStubHSSFWorkbook();
|
||||
assertNotNull(stubHSSF);
|
||||
|
||||
// Check these stubs have the right stuff on them
|
||||
assertEquals("Sheet1", stubWB.getSheetName(0));
|
||||
// Check these stubs have the right stuff on them
|
||||
assertEquals("Sheet1", stubWB.getSheetName(0));
|
||||
assertEquals("Sheet1", stubHSSF.getSheetName(0));
|
||||
assertEquals("S2", stubWB.getSheetName(1));
|
||||
assertEquals("S2", stubWB.getSheetName(1));
|
||||
assertEquals("S2", stubHSSF.getSheetName(1));
|
||||
assertEquals("Sh3", stubWB.getSheetName(2));
|
||||
assertEquals("Sh3", stubWB.getSheetName(2));
|
||||
assertEquals("Sh3", stubHSSF.getSheetName(2));
|
||||
|
||||
// Check we can get the formula without breaking
|
||||
for(int i=0; i<fRecs.length; i++) {
|
||||
HSSFFormulaParser.toFormulaString(stubHSSF, fRecs[i].getParsedExpression());
|
||||
}
|
||||
// Check we can get the formula without breaking
|
||||
for(int i=0; i<fRecs.length; i++) {
|
||||
HSSFFormulaParser.toFormulaString(stubHSSF, fRecs[i].getParsedExpression());
|
||||
}
|
||||
|
||||
// Peer into just one formula, and check that
|
||||
// all the ptgs give back the right things
|
||||
Ptg[] ptgs = fRecs[0].getParsedExpression();
|
||||
assertEquals(1, ptgs.length);
|
||||
assertTrue(ptgs[0] instanceof Ref3DPtg);
|
||||
// Peer into just one formula, and check that
|
||||
// all the ptgs give back the right things
|
||||
Ptg[] ptgs = fRecs[0].getParsedExpression();
|
||||
assertEquals(1, ptgs.length);
|
||||
assertTrue(ptgs[0] instanceof Ref3DPtg);
|
||||
|
||||
Ref3DPtg ptg = (Ref3DPtg)ptgs[0];
|
||||
HSSFEvaluationWorkbook book = HSSFEvaluationWorkbook.create(stubHSSF);
|
||||
assertEquals("Sheet1!A1", ptg.toFormulaString(book));
|
||||
Ref3DPtg ptg = (Ref3DPtg)ptgs[0];
|
||||
HSSFEvaluationWorkbook book = HSSFEvaluationWorkbook.create(stubHSSF);
|
||||
assertEquals("Sheet1!A1", ptg.toFormulaString(book));
|
||||
|
||||
|
||||
// Now check we get the right formula back for
|
||||
// a few sample ones
|
||||
FormulaRecord fr;
|
||||
// Now check we get the right formula back for
|
||||
// a few sample ones
|
||||
FormulaRecord fr;
|
||||
|
||||
// Sheet 1 A2 is on same sheet
|
||||
fr = fRecs[0];
|
||||
assertEquals(1, fr.getRow());
|
||||
assertEquals(0, fr.getColumn());
|
||||
assertEquals("Sheet1!A1", HSSFFormulaParser.toFormulaString(stubHSSF, fr.getParsedExpression()));
|
||||
// Sheet 1 A2 is on same sheet
|
||||
fr = fRecs[0];
|
||||
assertEquals(1, fr.getRow());
|
||||
assertEquals(0, fr.getColumn());
|
||||
assertEquals("Sheet1!A1", HSSFFormulaParser.toFormulaString(stubHSSF, fr.getParsedExpression()));
|
||||
|
||||
// Sheet 1 A5 is to another sheet
|
||||
fr = fRecs[3];
|
||||
assertEquals(4, fr.getRow());
|
||||
assertEquals(0, fr.getColumn());
|
||||
assertEquals("'S2'!A1", HSSFFormulaParser.toFormulaString(stubHSSF, fr.getParsedExpression()));
|
||||
// Sheet 1 A5 is to another sheet
|
||||
fr = fRecs[3];
|
||||
assertEquals(4, fr.getRow());
|
||||
assertEquals(0, fr.getColumn());
|
||||
assertEquals("'S2'!A1", HSSFFormulaParser.toFormulaString(stubHSSF, fr.getParsedExpression()));
|
||||
|
||||
// Sheet 1 A7 is to another sheet, range
|
||||
fr = fRecs[5];
|
||||
assertEquals(6, fr.getRow());
|
||||
assertEquals(0, fr.getColumn());
|
||||
assertEquals("SUM(Sh3!A1:A4)", HSSFFormulaParser.toFormulaString(stubHSSF, fr.getParsedExpression()));
|
||||
// Sheet 1 A7 is to another sheet, range
|
||||
fr = fRecs[5];
|
||||
assertEquals(6, fr.getRow());
|
||||
assertEquals(0, fr.getColumn());
|
||||
assertEquals("SUM(Sh3!A1:A4)", HSSFFormulaParser.toFormulaString(stubHSSF, fr.getParsedExpression()));
|
||||
|
||||
|
||||
// Now, load via Usermodel and re-check
|
||||
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("3dFormulas.xls");
|
||||
assertEquals("Sheet1!A1", wb.getSheetAt(0).getRow(1).getCell(0).getCellFormula());
|
||||
assertEquals("SUM(Sh3!A1:A4)", wb.getSheetAt(0).getRow(6).getCell(0).getCellFormula());
|
||||
}
|
||||
// Now, load via Usermodel and re-check
|
||||
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("3dFormulas.xls");
|
||||
assertEquals("Sheet1!A1", wb.getSheetAt(0).getRow(1).getCell(0).getCellFormula());
|
||||
assertEquals("SUM(Sh3!A1:A4)", wb.getSheetAt(0).getRow(6).getCell(0).getCellFormula());
|
||||
}
|
||||
|
||||
private static final class MockHSSFListener implements HSSFListener {
|
||||
public MockHSSFListener() {}
|
||||
private final List<Record> _records = new ArrayList<Record>();
|
||||
private final List<Record> _frecs = new ArrayList<Record>();
|
||||
private static final class MockHSSFListener implements HSSFListener {
|
||||
public MockHSSFListener() {}
|
||||
private final List<Record> _records = new ArrayList<Record>();
|
||||
private final List<Record> _frecs = new ArrayList<Record>();
|
||||
|
||||
public void processRecord(Record record) {
|
||||
_records.add(record);
|
||||
if(record instanceof FormulaRecord) {
|
||||
_frecs.add(record);
|
||||
}
|
||||
}
|
||||
public FormulaRecord[] getFormulaRecords() {
|
||||
FormulaRecord[] result = new FormulaRecord[_frecs.size()];
|
||||
_frecs.toArray(result);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
public void processRecord(Record record) {
|
||||
_records.add(record);
|
||||
if(record instanceof FormulaRecord) {
|
||||
_frecs.add(record);
|
||||
}
|
||||
}
|
||||
public FormulaRecord[] getFormulaRecords() {
|
||||
FormulaRecord[] result = new FormulaRecord[_frecs.size()];
|
||||
_frecs.toArray(result);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user