我目前正在从网页中选择HTML表格数据,并存储任何包含锚定标记的内容,然后导出该列表以显示在Excel中。C#解析列表数据到excel
我遇到的问题是我无法在Excel中正确显示它。 列表确实包含正确的数据,但在Excel中它只显示列表中的最后一项(似乎它每次遍历列表时重写)。
列表(cellList)是包含正确数据的列表,尝试了很多不同的变化,试图让它正确显示,但似乎无法确定为什么下面的工作不正常。
我已经使用了或多或少相同的foreach代码来显示从SQL数据列表到excel以相同的方式。
任何帮助,或指导将不胜感激。
HtmlTable tabletest = ActiveBrowser.Find.ById<HtmlTable>("MainContent_ucLicensees_gviGeneric");
IList<HtmlAnchor> myList = tabletest.Find.AllByTagName<HtmlAnchor>("a");
foreach (HtmlAnchor item in myList)
{
string celltext = item.InnerText.ToString();
List<string> cellList = new List<string>();
cellList.Add(celltext);
int row = 2;
int col = 2;
foreach (var cellitem in cellList)
{
excelApp.Cells[row, col] = cellitem;
row++;
if (cellList.IndexOf(cellitem) == cellList.Count - 1)
{
col = 2;
}
}
}
该列表将如何产生多列数据?只有一个列表,不应该产生一个列?我没有看到'cellList'列表和第二个循环的需要。看起来你应该只循环一次,并且每次只增加行号。 –
正确,上面的代码只有1列(其他列由另一个列表创建,但显示正确)。当我尝试只显示“myList”列表时,我不能显示它里面的实际项目,它只会显示像HtmlAnchor引用(HtmlAnchor:),只有当我显示第二个列表(cellList),我可以看到正确的数据。 – Ian