一个简单的办法是:使用模板,在模板中手动先向该字段粘贴足够多的数据,然后设置这行为隐藏,然后再导出数据到excel就可以了。
另外一个办法是:
public static void WriteToSimpleExcel(System.Data.DataTable table, string strFilePath)//查询结果导出Execl
{
try
{
System.IO.StreamWriter sw = new System.IO.StreamWriter(strFilePath,false, System.Text.Encoding.Default);
object[] values = new object[table.Columns.Count];
for (int i = 0; i < table.Columns.Count; ++i)
{
sw.Write(table.Columns[i].Caption.ToString());
sw.Write('\t');
}
sw.Write("\r\n");
for (int i = 0; i < table.Rows.Count; i++)
{
for (int j = 0; j < values.Length; ++j)
{
sw.Write(table.Rows[i][j].ToString());
sw.Write('\t');
}
sw.Write("\r\n");
}
sw.Flush();
sw.Close();
// LitianClass.MessageBoxOK("成功导出[" + ds.Tables[0].Rows.Count.ToString() + "]行到Execl!");
}
catch(System.Exception err)
{
MamShare.Utils.Log4Net.Error(err.Message + err.Data + err.Source + err.StackTrace + err.TargetSite);
}
}
备注:
如果导出的某个字段中内容为html,并且是含有图片,且内容很多,记得一定要给excel的模板设置行高,否则数据被导出到excel后可能会被撑的变形。