public void Bug58245_XSSFSheetIterator()
{
XSSFWorkbook wb = new XSSFWorkbook();
wb.CreateSheet();
// =====================================================================
// Case 1: Existing code uses XSSFSheet for-each loop
// =====================================================================
// Original code (no longer valid)
/*
* for (XSSFSheet sh : wb) {
* sh.createRow(0);
* }
*/
// Option A:
foreach (XSSFSheet sh in wb)
{
sh.CreateRow(0);
}
// Option B (preferred for new code):
foreach (ISheet sh in wb)
{
sh.CreateRow(0);
}
// =====================================================================
// Case 2: Existing code creates an iterator variable
// =====================================================================
// Original code (no longer valid)
/*
* Iterator<XSSFSheet> it = wb.iterator();
* XSSFSheet sh = it.next();
* sh.createRow(0);
*/
// Option A:
{
IEnumerator <XSSFSheet> it = wb.GetEnumerator() as IEnumerator <XSSFSheet>;
XSSFSheet sh = it.Current;
sh.CreateRow(0);
}
// Option B:
{
//IEnumerator<XSSFSheet> it = wb.XssfSheetIterator();
//XSSFSheet sh = it.Current;
//sh.CreateRow(0);
}
// Option C (preferred for new code):
{
IEnumerator <ISheet> it = wb.GetEnumerator() as IEnumerator <ISheet>;
ISheet sh = it.Current;
sh.CreateRow(0);
}
wb.Close();
}