我想在将数据表导出到excel中添加超链接
但是excel不能显示超链接属性,只能显示字符串。
dataTable 输入字段是否有任何限制?
下面是我格式化数据表的代码
int dt_current_row = 0;
string[] Days = testDays.ToArray();
for (int i = 0; i < tableOriginal.Rows.Count; i++)
{
string wo_number = handle(tableOriginal.Rows[i]["WO_NUMBER"].ToString());
string date = handle(tableOriginal.Rows[i]["CREATE_DATE"].ToString());
if (i == 0)
{
// Insert New
DataRow dr = dt.NewRow();
dt.Rows.Add(dr);
dr["WO_NUMBER"] = wo_number;
for (int x = 1; x < dt.Columns.Count; x++)
{
int z = Convert.ToInt32(Math.Floor(0.5 * (x - 1)));
//search Date
if (tableOriginal.Rows[i]["CREATE_DATE"].ToString() == Days[z])
{
//if equal , insert num and ID
object xx = tableOriginal.Rows[i]["NUM"];
int num = Convert.ToInt32(xx);
dr["PHOTO_" + z.ToString()] = num;
object yy = tableOriginal.Rows[i]["PHOTO_ID"];
string photo = Convert.ToString(yy);
dr["ID_" + z.ToString()] = HttpContext.Current.Server.HtmlEncode(httpLink + photo);
break;
}
}
}
....以及将 DataTable 中的单元格导出到 excel Document xls 中的单元格的部分我试图设置公式,但它不起作用
foreach (DataRow r in result.Rows)
{
currentCol = 1;
foreach (DataColumn c in result.Columns)
{
string temp = c.ColumnName.ToString().Substring(0,2);
if (temp.Equals("ID"))
{
httpLinkForPhoto = r[currentCol - 1].ToString();
if (!httpLinkForPhoto.Equals(null))
{
string formula = "=HYPERLINK(" + httpLinkForPhoto + "," + httpLinkForPhoto + ")";
excelDoc2.SetFormula(1, 1, currentRow, currentCol, currentRow, currentCol, formula);
}
}
else
{
excelDoc2.setCell(1, 1, currentRow, currentCol, r[currentCol - 1].ToString());
}
currentCol++;
}
currentRow++;
}