WEB开发网
开发学院WEB开发ASP.NET asp.net 导出数据到excel报“段太小而不能接受所要... 阅读

asp.net 导出数据到excel报“段太小而不能接受所要添加的数据的数量。试着插入或粘贴较少的数据”错误的解决方法

 2012-06-05 16:31:27 来源:WEB开发网   
核心提示:办法是:使用模板,在模板中手动先向该字段粘贴足够多的数据,asp.net 导出数据到excel报“段太小而不能接受所要添加的数据的数量。试着插入或粘贴较少的数据”错误的解决方法,然后设置这行为隐藏,然后再导出数据到excel就可以了,且内容很多,记得一定要给excel的模板设置行高,另外一个办法是:public sta

办法是:使用模板,在模板中手动先向该字段粘贴足够多的数据,然后设置这行为隐藏,然后再导出数据到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后可能会被撑的变形。 

Tags:asp net 导出

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接