C# 如何使用互操作在xlsx中获取全部/全部工作表?
我如何才能获得总共10行的所有工作表(例如3),并将其合并到另一个新工作表中?问题:我得到的结果是它循环/读取了最后一张/NO.3,它只显示10行。无法在30行的工作表中显示所有工作表的总行 我试过的:我试过在3号的纸上打圈,然后打圈 这些行是10C# 如何使用互操作在xlsx中获取全部/全部工作表?,c#,excel-interop,C#,Excel Interop,我如何才能获得总共10行的所有工作表(例如3),并将其合并到另一个新工作表中?问题:我得到的结果是它循环/读取了最后一张/NO.3,它只显示10行。无法在30行的工作表中显示所有工作表的总行 我试过的:我试过在3号的纸上打圈,然后打圈 这些行是10 for (int sheet = 1; sheet <= 3; sheet++) { xlworkSheet = (Excel.Worksheet)xlworkbook.Worksheets.ge
for (int sheet = 1; sheet <= 3; sheet++)
{
xlworkSheet = (Excel.Worksheet)xlworkbook.Worksheets.get_Item(sheet);
//rw is equal to 10 rows
for (int row = 0; row <= rw; row++)
{
//extract out excel value and store it into empID variable
var empID=(string)(xlworkSheet.Cells[row,1]as(Excel.Range).Value.ToString();
//store empID into employeeobj
employeeobj.employeeID = empID;
xlNewSheet2.Cells[row, 1].Value = employeeobj.employeeID;
}
}
我得到的是:一张新纸上最后的10行纸。
我的目标:在一张新的工作表中总共有30行。您可以创建一个包含所有行的值的数据列表,也可以使用计数变量。 希望能帮上忙,我的朋友: //解决方案1:使用计数变量
int k = 0;
for (int sheet = 1; sheet <= 3; sheet++)
{
xlworkSheet = (Excel.Worksheet)xlworkbook.Worksheets.get_Item(sheet);
//rw is equal to 10 rows
for (int row = 0; row <= rw; row++)
{
//extract out excel value and store it into empID variable
var empID=(string)(xlworkSheet.Cells[row,1]as(Excel.Range).Value.ToString();
//store empID into employeeobj
employeeobj.employeeID = empID;
xlNewSheet2.Cells[k, 1].Value = employeeobj.employeeID;
k++;
}
}
//解决方案2:使用列表
List<string> data = new List<string>();
for (int sheet = 1; sheet <= 3; sheet++)
{
xlworkSheet = (Excel.Worksheet)xlworkbook.Worksheets.get_Item(sheet);
//rw is equal to 10 rows
for (int row = 0; row <= rw; row++)
{
//extract out excel value and store it into empID variable
var empID=(string)(xlworkSheet.Cells[row,1]as(Excel.Range).Value.ToString();
//store empID into employeeobj
employeeobj.employeeID = empID;
//xlNewSheet2.Cells[row, 1].Value = employeeobj.employeeID;
data.Add(employeeobj.employeeID);
}
}
//最后,只需将数据绑定到新工作表。因为新工作表只需将数据添加到10行即可。您可以创建一个数据列表。然后将这些数据填入新的工作表中。