我目前正在從網頁中選擇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