我有 ac# webjob 下载然后读取 Excel 文件。其中一列包含我想保存在我的数据库中的链接。我目前正在使用 ExcelDataReader 将 Excel 文件转换为 DataSet,然后遍历行以获取数据。转换后,此时有问题的列只是一个包含链接文本的字符串。
从其他一些阅读来看,这听起来像是在 Excel 中,超链接存储在其他地方,并且在将 Excel 文件转换为 DataSet 时不会保留该信息。
我不打算使用 ExcelDataReader,但想找到一种解决方案来提取这些链接 URL,而无需支付某些第三方软件的费用。
这是我迄今为止参考的简单代码:
FileStream stream = File.Open(fileLocation, FileMode.Open, FileAccess.Read);
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
excelReader.IsFirstRowAsColumnNames = true;
DataSet result = excelReader.AsDataSet();
int count = 0;
foreach (DataRow row in result.Tables["WorkSheetName"].DataTable.Rows)
{
var item = new myObject();
item.Prop1 = long.Parse(row["Column3"].ToString());
item.Prop2 = row["Column7"].ToString(); //The link, currently only seeing link text
this.myDbContext.myTable.Add(item);
await this.myDbContext.SaveChangesAsync();
count += 1;
}