C# 将列表数据解析为 excel
C# parse list data into excel
我目前正在从网页中选择 HTML Table 数据,并存储任何包含锚标记的内容,然后导出该列表以显示在 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;
}
}
}
看来你应该只循环一次,每次都简单地增加行号。这样的事情应该有效:
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++;
}
我目前正在从网页中选择 HTML Table 数据,并存储任何包含锚标记的内容,然后导出该列表以显示在 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;
}
}
}
看来你应该只循环一次,每次都简单地增加行号。这样的事情应该有效:
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++;
}