在插入单元格数据表行时向下移动第一行
Contents
[
Hide
]
可能的使用场景
Aspose.Cells允许您在将表格插入工作表时将第一行向下移动。本文档解释了如何使用Aspose.Cells API完成该任务。
将单元格数据表行插入时将第一行向下移动
以下示例代码说明了如何在将表格插入工作表时将第一行向下移动。我们在代码中使用简单的模板Excel文件来演示该功能。您可以通过将布尔ImportTableOptions.ShiftFirstRowDown属性设置为True/False来练习该功能,以便更好地理解。请参阅示例Excel文件(45056031.xlsx),输出Excel False文件(45056032.xlsx)和输出Excel True文件(45056033.xlsx)以供参考。
屏幕截图
示例代码
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
public class ShiftFirstRowDownWhenInsertingCellsDataTableRows | |
{ | |
//Implement ICellsDataTable interface | |
class CellsDataTable : ICellsDataTable | |
{ | |
//This is the current row index | |
int m_index = -1; | |
//These are your column names | |
static String[] colsNames = new String[] { "Pet", "Fruit", "Country", "Color" }; | |
//These are the data of each column | |
static String[] col0data = new String[] { "Dog", "Cat", "Duck" }; | |
static String[] col1data = new String[] { "Apple", "Pear", "Banana" }; | |
static String[] col2data = new String[] { "UK", "USA", "China" }; | |
static String[] col3data = new String[] { "Red", "Green", "Blue" }; | |
//Combine all of the data into a single two dimensional array | |
static String[][] colsData = new String[][] { col0data, col1data, col2data, col3data }; | |
//Leave this unimplemented because we do not need it | |
public object this[string columnName] | |
{ | |
get | |
{ | |
throw new NotImplementedException(); | |
} | |
} | |
//It will return the current item data of given column | |
object ICellsDataTable.this[int columnIndex] | |
{ | |
get | |
{ | |
Object o = null; | |
o = colsData[columnIndex][m_index]; | |
return o; | |
} | |
} | |
//It will return names of all the columns | |
string[] ICellsDataTable.Columns | |
{ | |
get | |
{ | |
return colsNames; | |
} | |
} | |
//It will return the count of all the items | |
int ICellsDataTable.Count | |
{ | |
get | |
{ | |
return col0data.Length; | |
} | |
} | |
//Set it -1 | |
void ICellsDataTable.BeforeFirst() | |
{ | |
m_index = -1; | |
} | |
//Increase the row index by 1 | |
bool ICellsDataTable.Next() | |
{ | |
m_index++; | |
return true; | |
} | |
} | |
public static void Run() | |
{ | |
//Source directory | |
string sourceDir = RunExamples.Get_SourceDirectory(); | |
//Output directory | |
string outputDir = RunExamples.Get_OutputDirectory(); | |
//Create the instance of Cells Data Table | |
CellsDataTable cellsDataTable = new CellsDataTable(); | |
//Load the sample workbook | |
Workbook wb = new Workbook(sourceDir + "sampleImportTableOptionsShiftFirstRowDown.xlsx"); | |
//Access first worksheet | |
Worksheet ws = wb.Worksheets[0]; | |
//Import data table options | |
ImportTableOptions opts = new ImportTableOptions(); | |
//We do now want to shift the first row down when inserting rows. | |
opts.ShiftFirstRowDown = false; | |
//Import cells data table | |
ws.Cells.ImportData(cellsDataTable, 2, 2, opts); | |
//Save the workbook | |
wb.Save(outputDir + "outputImportTableOptionsShiftFirstRowDown-False.xlsx"); | |
} | |
} |