我目前正在从网页中选择HTML表数据,并存储包含Anchor标记的任何内容,然后导出该列表以在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;
}
}
}
答案 0 :(得分:0)
似乎你应该只循环一次,并且每次只增加行号。这样的事情应该有效:
int row = 2; //Should this be 1?
int col = 2; //Should this be 1?
foreach (HtmlAnchor item in myList)
{
string celltext = item.InnerText.ToString();
excelApp.Cells[row, col] = celltext;
row++;
}