StringBuilder htmlbuilder = new StringBuilder(); htmlbuilder.Append("<html><head><title>"+row["操作票编号"].ToString()+"操作票</title><style type='text/css'><!--.tablestyle {font-family:宋体';font-size: 9pt;color: #0066FF;}--></style></head><body>");
htmlbuilder.Append("<table width='100%'  border='1' cellspacing='0' cellpadding='0'>");
htmlbuilder.Append("<tr><td>操作任务:"+row["操作任务"].ToString()+"</td></tr>");
htmlbuilder.Append("<tr><td>操作开始时间:"+row["操作开始时间"].ToString()+"</td></tr>");
htmlbuilder.Append("<tr><td>操作终止时间:"+row["操作终了时间"].ToString()+"</td></tr>");
htmlbuilder.Append("<tr><td>操作人:"+row["操作人"].ToString()+"</td></tr>");
htmlbuilder.Append("<tr><td>监护人:"+row["监护人"].ToString()+"</td></tr>");
htmlbuilder.Append("<tr><td>值班负责人:"+row["值班负责人"].ToString()+"</td></tr>");
htmlbuilder.Append("<tr><td>值长:"+row["值长"].ToString()+"</td></tr>");
htmlbuilder.Append("</table></body></html>");
StreamWriter sw = File.CreateText(filename);
sw.Write(htmlbuilder.ToString());
sw.Flush();
sw.Close();
==============================================================
为什么生成的文件是一片空白???
如果把sw.Write(htmlbuilder.ToString());改成sw.Write("sdfsdf");为什么又可以将内容写入文件呢 ??
好郁闷!!

解决方案 »

  1.   

    .......
    StreamWriter sw = new StreamWriter(FileName,false,new System.Text.UnicodeEncoding());
    sw.Write(htmlbuilder.ToString());
    sw.Flush();
    sw.Close();
      

  2.   

    谢谢永不言弃兄弟!问题已解决!!顺便再问一下,我将DATAGRID里的数据导出到HTML里的时候,提示出现另存为的对话框,选择了路径并输入文件名以后,点导出.提示说此文件另一个进程正在试用.如果给它绝对的路径和文件名却有没问题,这是怎么回事啊 ??也是用StreamWriter写的,代码和上面一样.
      

  3.   

    应该是StreamWriter 还没Closed
    最好:
    .......
    StreamWriter sw = null;
    try
    {
    sw = new StreamWriter(FileName,false,new System.Text.UnicodeEncoding());
    sw.Write(htmlbuilder.ToString());
    sw.Flush();
    }
    finally
    {
    sw.Close();
    }