none
页面内容导出到EXCEL RRS feed

  • 问题

  • 问题描述:我有一个页面,需要把整个页面的内容导出到EXCEL。现在发现除了页面里的图片外都能导出到EXCEL。此图片是由第三方工具ZedGraph产生的柏拉图。

     

    请教各位,如何能解决这个问题。

     

    这个问题较急!希望知道解决方案的朋友能指导我下。谢谢先!

    2009年1月15日 0:01

答案

  • 导出到HTML再用Excel打开。
    2009年1月15日 0:58
    版主
  • 你好,如果你不想保存后再打开,你可以参考下面的代码。当弹出对话框提示你是否保存或打开的时候直接选择打开就行了。
     WebClient wc=new WebClient();
            string content = string.Empty;
            using (Stream s = wc.OpenRead(Request.Url))
            {
                using (StreamReader sr = new StreamReader(s))
                {
                    content=sr.ReadToEnd();
                   
                }         
               
               
            }
           
            //int size = Convert.ToInt32(s.Length);
            byte[] bytes = System.Text.ASCIIEncoding.ASCII.GetBytes(content);

            Response.Clear();
            Response.Buffer = true;

            Response.AppendHeader("Content-Disposition", "attachment;filename=urls.xls");

            Response.ContentType = "application/xls";
            Response.BinaryWrite(bytes);
            Response.End();
    2009年1月16日 6:44

全部回复

  • 导出到HTML再用Excel打开。
    2009年1月15日 0:58
    版主
  • To: Sheng Jiang (蒋晟) :谢谢您这么快回复。我有些不明白你的意思。你是指先导出到HTML文件,然后在EXCEL里打开这个HTML文件?EXCEL能打开HTML文件?

    2009年1月15日 1:03
  • Excel 2000就支持了。具体信息可以参考Excel帮助文档。
    2009年1月15日 1:06
    版主
  • To:Sheng Jiang(蒋晟):谢谢:)但我想这样不是多了一步操作了么?我是想实现在导出EXCEL时,直接打开EXCEL图片就能自动导出到EXCEL里,而不需要额外的操作。

    2009年1月15日 1:19
  • 多了哪一步?不就是保存的格式不同么?
    2009年1月15日 2:00
    版主
  • 你好,如果你不想保存后再打开,你可以参考下面的代码。当弹出对话框提示你是否保存或打开的时候直接选择打开就行了。
     WebClient wc=new WebClient();
            string content = string.Empty;
            using (Stream s = wc.OpenRead(Request.Url))
            {
                using (StreamReader sr = new StreamReader(s))
                {
                    content=sr.ReadToEnd();
                   
                }         
               
               
            }
           
            //int size = Convert.ToInt32(s.Length);
            byte[] bytes = System.Text.ASCIIEncoding.ASCII.GetBytes(content);

            Response.Clear();
            Response.Buffer = true;

            Response.AppendHeader("Content-Disposition", "attachment;filename=urls.xls");

            Response.ContentType = "application/xls";
            Response.BinaryWrite(bytes);
            Response.End();
    2009年1月16日 6:44