Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LinqToExcel获取超链接值_C#_Excel_Linq To Excel - Fatal编程技术网

C# LinqToExcel获取超链接值

C# LinqToExcel获取超链接值,c#,excel,linq-to-excel,C#,Excel,Linq To Excel,我正在使用LinqToExcel读取excel文件。一切都很好,但如果单元格的内容是超链接,我只得到超链接文本。我想获取它的URL/电子邮件 try { // Connection to the DB iRentDB db = new iRentDB(); // Get excel file and work sheet string pathToExcelFile = @"Members_Export_1500068180.xls"; string s

我正在使用LinqToExcel读取excel文件。一切都很好,但如果单元格的内容是超链接,我只得到超链接文本。我想获取它的URL/电子邮件

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());
}
我正在读的单元格是一个超链接。单元格内容名称为“电子邮件”,超链接值为test@test.com. 在我的C代码中,变量email=“email”。如何将超链接值(“test@test.com你呢


谢谢

当您以编程方式向工作表添加内容时,excel应用程序不会自动编辑单元格以格式化和添加超链接(就像您在单元格中手动键入内容一样)

我不确定<强> > LyqtoExcel <强>是否有选项添加超链接,但您可以考虑使用EPPLUS,这里是链接:

使用ePlus,您几乎可以使用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");