首页 新闻 搜索 专区 学院

c#在导出Excel中加入超链接

0
悬赏园豆:10 [已解决问题] 解决于 2012-09-29 14:45

    我已经能把数据导出到excel了,但是现在又需要对其中的一列添加超链接,我不知道该如何在代码中实现,各位谁知道,指点指点下,谢谢了啊。。

赵小猫的主页 赵小猫 | 初学一级 | 园豆:102
提问于:2012-09-28 15:55
< >
分享
最佳答案
0

参考这个php写的代码,我想.net里的excel组件应该有类似的函数。

$objPHPExcel->getActiveSheet()->setCellValue(‘E22′, ‘www.abc.net’);
$objPHPExcel->getActiveSheet()->getCell(‘E22′)->getHyperlink()->setUrl(‘http://www.abc.net’);
$objPHPExcel->getActiveSheet()->getCell(‘E22′)->getHyperlink()->setTooltip(‘Navigate to website’);

收获园豆:10
依然快乐 | 菜鸟二级 |园豆:214 | 2012-09-28 16:23

@依然快乐:谢谢的关注,但是看不懂啊

赵小猫 | 园豆:102 (初学一级) | 2012-09-28 16:30

@Trrecy: 参考两种写法:

1)给某个单元加超链接

Range   tempRange=worksheet.get_Range(worksheet.Cells[1,1],worksheet.Cells[1,2]);
string   strHyperlinks= "http://www.cnblogs.com";
worksheet.Hyperlinks.Add(tempRange,strHyperlinks,oMissing,oMissing,oMissing);

2)

 //Write a hyperlink.
                HyperLink hylink1 = sheet.HyperLinks.Add(sheet.Range["B2"]);
                hylink1.Type = HyperLinkType.Url;
               hylink1.Address = @"http://www.cnblogs.com";
    
                //Write a second hyperlink.
               HyperLink hylink2 = sheet.HyperLinks.Add(sheet.Range["B4"]);
               hylink2.Type = HyperLinkType.Url;
               hylink2.Address = @"http://www.cnblogs.com";

依然快乐 | 园豆:214 (菜鸟二级) | 2012-09-28 16:46

@依然快乐: 这样的方法可行,谢谢啊。但是这种方法需要一个单元格一个单元格的去Excel中插入数据,有没有直接在封装的DataTable中把链接添加好,然后直接把DataTable作为一个Object对象直接导出Excel

赵小猫 | 园豆:102 (初学一级) | 2012-09-28 17:04
其他回答(2)
0

直接把你的那一列加<a href=""></a>然后导出到excel就可以的呀

田林九村 | 园豆:2367 (老鸟四级) | 2012-09-28 15:57

不行,我试过了,直接加上之后,导出的结果是,直接把链接的标签当作字符串输出了。

支持(0) 反对(0) 赵小猫 | 园豆:102 (初学一级) | 2012-09-28 15:59

@Trrecy: <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

在你的table前面加上这个试试呢?

支持(0) 反对(0) 田林九村 | 园豆:2367 (老鸟四级) | 2012-09-28 16:08

@田林九村:谢谢你的关注, 我是将数据以DataTable的类型导出的,这个应该加不了吧

支持(0) 反对(0) 赵小猫 | 园豆:102 (初学一级) | 2012-09-28 16:29

@Trrecy: 嗯,我一般会把DataTable转成html然后Response

支持(0) 反对(0) 田林九村 | 园豆:2367 (老鸟四级) | 2012-09-28 16:32

@田林九村: 呵呵,直接Response,在我们的工程框架中用不了,所以搞得我必须直接去操作Excel才能导出数据。所以比较麻烦

支持(0) 反对(0) 赵小猫 | 园豆:102 (初学一级) | 2012-09-28 17:07
0

我项目现在也碰到了类似的需求

 

我也是一个DataTalbe 丢进去然后到处到Excel

 

但是用户要求 第一列加上超链接

 

请问你最后是怎么实现的呀?

llllboy | 园豆:3 (初学一级) | 2013-11-25 15:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册