Shift First Row down when inserting Cells Data Table Rows
Possible Usage Scenarios
Aspose.Cells allows you to shift first row down when inserting table into the worksheet. This document explains how you may accomplish the task using Aspose.Cells APIs.
Shift First Row down when inserting Cells Data Table Rows
The following sample code illustrates how to shift first row down when inserting table into the worksheet. We use a simple template Excel file in code to demonstrate the feature. You can exercise the feature by setting the boolean ImportTableOptions.ShiftFirstRowDown attribute to True/False to better understand it. Please see the sample Excel file, output Excel False file, and output Excel True file for your reference.
Screenshot
Sample Code
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
public class ShiftFirstRowDownWhenInsertingCellsDataTableRows { | |
class CellsDataTable implements ICellsDataTable | |
{ | |
//This is the current row index | |
int m_index=-1; | |
//These are your column names | |
String[] colsNames = new String[] { "Pet", "Fruit", "Country", "Color" }; | |
//These are the data of each column | |
String[] col0data = new String[] { "Dog", "Cat", "Duck" }; | |
String[] col1data = new String[] { "Apple", "Pear", "Banana" }; | |
String[] col2data = new String[] { "UK", "USA", "China" }; | |
String[] col3data = new String[] { "Red", "Green", "Blue" }; | |
//Combine all of the data into a single two dimensional array | |
String[][] colsData = new String[][]{ col0data, col1data, col2data, col3data}; | |
public void beforeFirst() { | |
m_index = -1; | |
} | |
public Object get(int columnIndex) { | |
Object o = null; | |
o = colsData[columnIndex][m_index]; | |
return o; | |
} | |
public Object get(String columnName) { | |
return null; | |
} | |
public String[] getColumns() { | |
return colsNames; | |
} | |
public int getCount() { | |
return col0data.length; | |
} | |
public boolean next() { | |
m_index++; | |
return true; | |
} | |
}//End Class - CellsDataTable | |
public void Run() throws Exception | |
{ | |
String srcDir = Utils.Get_SourceDirectory(); | |
String outDir = Utils.Get_OutputDirectory(); | |
//Create the instance of Cells Data Table | |
CellsDataTable cellsDataTable = new CellsDataTable(); | |
//Load the sample workbook | |
Workbook wb = new Workbook(srcDir + "sampleImportTableOptionsShiftFirstRowDown.xlsx"); | |
//Access first worksheet | |
Worksheet ws = wb.getWorksheets().get(0); | |
//Import data table options | |
ImportTableOptions opts = new ImportTableOptions(); | |
//We do now want to shift the first row down when inserting rows. | |
opts.setShiftFirstRowDown(false); | |
//Import cells data table | |
ws.getCells().importData(cellsDataTable, 2, 2, opts); | |
//Save the workbook | |
wb.save(outDir + "outputImportTableOptionsShiftFirstRowDown-False.xlsx"); | |
} | |
public static void main(String[] args) throws Exception { | |
ShiftFirstRowDownWhenInsertingCellsDataTableRows pg = new ShiftFirstRowDownWhenInsertingCellsDataTableRows(); | |
pg.Run(); | |
} | |
} |