LinqToExcel 获取超链接值
LinqToExcel get hyperlink value
我正在使用 LinqToExcel 读取 excel 文件。一切正常,但单元格的内容是一个超链接,我只得到超链接文本。我想得到它的 URL/email.
try
{
// Connection to the DB
iRentDB db = new iRentDB();
// Get excel file and work sheet
string pathToExcelFile = @"Members_Export_1500068180.xls";
string sheetName = "Members_Export_1500068180";
var excelFile = new LinqToExcel.ExcelQueryFactory(pathToExcelFile);
// Select all rows from Excel
var rows = from c in excelFile.WorksheetNoHeader(sheetName)
select c;
foreach (var row in rows)
{
// Get and validate the email
var email = row[8].Value.ToString();
}
}catch (Exception any)
{
Console.Write(any.ToString());
}
我正在阅读的单元格是一个超链接。单元格内容名称为 "Email",超链接值为 test@test.com。
在我的 C# 代码中,变量 email = "Email"。如何将超链接值 ("test@test.com") 设置为变量 email?
谢谢
当您以编程方式向工作表添加内容时,excel 应用程序不会自动编辑单元格以设置格式并添加 hyperlink(就像您在单元格中手动输入一样)。
我不确定 LinqToExcel 是否有添加 Hyperlink 的选项,但您可以考虑使用 EPPlus,这是 link:
How to create a link inside a cell using EPPlus.
使用 EPPlus,您几乎可以用 excel 做任何事情,就像 Microsoft.Office.Interop.Excel 一样,它主要用于桌面应用程序(Interop 示例):
Excel.Worksheet ws;
ws.Hyperlinks.Add(ws.Cells[5,8], "test@test.com");
ws.Hyperlinks.Add(ws.Range["B4"], "test2@anothertest.com");
我知道这不是您要找的答案,但我的意思是 hyperlinks 不会自动添加。
我正在使用 LinqToExcel 读取 excel 文件。一切正常,但单元格的内容是一个超链接,我只得到超链接文本。我想得到它的 URL/email.
try
{
// Connection to the DB
iRentDB db = new iRentDB();
// Get excel file and work sheet
string pathToExcelFile = @"Members_Export_1500068180.xls";
string sheetName = "Members_Export_1500068180";
var excelFile = new LinqToExcel.ExcelQueryFactory(pathToExcelFile);
// Select all rows from Excel
var rows = from c in excelFile.WorksheetNoHeader(sheetName)
select c;
foreach (var row in rows)
{
// Get and validate the email
var email = row[8].Value.ToString();
}
}catch (Exception any)
{
Console.Write(any.ToString());
}
我正在阅读的单元格是一个超链接。单元格内容名称为 "Email",超链接值为 test@test.com。 在我的 C# 代码中,变量 email = "Email"。如何将超链接值 ("test@test.com") 设置为变量 email?
谢谢
当您以编程方式向工作表添加内容时,excel 应用程序不会自动编辑单元格以设置格式并添加 hyperlink(就像您在单元格中手动输入一样)。
我不确定 LinqToExcel 是否有添加 Hyperlink 的选项,但您可以考虑使用 EPPlus,这是 link: How to create a link inside a cell using EPPlus.
使用 EPPlus,您几乎可以用 excel 做任何事情,就像 Microsoft.Office.Interop.Excel 一样,它主要用于桌面应用程序(Interop 示例):
Excel.Worksheet ws;
ws.Hyperlinks.Add(ws.Cells[5,8], "test@test.com");
ws.Hyperlinks.Add(ws.Range["B4"], "test2@anothertest.com");
我知道这不是您要找的答案,但我的意思是 hyperlinks 不会自动添加。