急急急!导出EXCEL时空格变成了问号?什么原因啊

解决方案 »

  1.   

     System.Web.HttpContext curContext = System.Web.HttpContext.Current;
            // IO用于导出并返回excel文件         System.IO.StringWriter strWriter = null;
            System.Web.UI.HtmlTextWriter htmlWriter = null;        // 设置编码和附件格式 
            curContext.Response.ContentType = "application/vnd.ms-excel";
            curContext.Response.ContentEncoding = System.Text.Encoding.Default;
            curContext.Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(FileName) + ".xls");        curContext.Response.Charset = "";
            
            // 导出excel文件 
            strWriter = new System.IO.StringWriter();
            htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter);
            StringBuilder strBuilder = new StringBuilder();            //先加标题
              
                strBuilder.Append("<table border=1>");
                //加列头
                strBuilder.Append("<tr>");
                strBuilder.Append("<td align='center'>IR编号</td>");
                strBuilder.Append("<td align='center'>问题名称</td>");
                strBuilder.Append("<td align='center'>影响环境</td>");
                strBuilder.Append("<td align='center'>SLA等级</td>");
                strBuilder.Append("<td align='center'>问题模块</td>");
                strBuilder.Append("<td align='center'>提交时间</td>");
                strBuilder.Append("<td align='center'>提交人</td>");
                strBuilder.Append("<td align='center'>测试人</td>");
                strBuilder.Append("<td align='center'>业务模块</td>");
                strBuilder.Append("<td align='center'>解决部门</td>");
                strBuilder.Append("<td align='center'>关闭日期</td>");
                strBuilder.Append("<td align='center'>确认关闭人</td>");
                strBuilder.Append("<td align='center'>开启天数</td>");
                strBuilder.Append("<td align='center'>解决情况</td>");
                strBuilder.Append("<td align='center'>OWNER</td>");
                strBuilder.Append("<td align='center'>跟踪情况</td>");
                strBuilder.Append("<td align='center'>是否为争议</td>");
                strBuilder.Append("<td align='center'>SLA罚否</td>");
                strBuilder.Append("<td align='center'>当前日期</td>");
                strBuilder.Append("<td align='center'>所属科室</td>");
                strBuilder.Append("<td align='center'>原因归类</td>");
                strBuilder.Append("<td align='center'>原IR号</td>");
                strBuilder.Append("</tr>");
                for (int i = 0; i < dtData1.Rows.Count; i++)
                {
                    DataRow Row = dtData1.Rows[i];
                   strBuilder.Append("<tr>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["IRNum"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["ProblemName"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["EnvironmentName"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["SLAGrageName"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["questionModuleName"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["SubmitTime"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["SubmitName"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["Testpeople"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["BusinesModuleName"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["solveDepartmentName"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["CloseTime"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["ConfirmClosed"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["begindays"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["solveStateName"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["ownerName"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["ProblemTrackingRecord"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["IsContradiction"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["IsSlaPunishment"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["NowTime"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["OwnedDepartmentName"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["reasonRankName"].ToString() + "</td>");
                    strBuilder.Append("<td align='center'>" + dtData1.Rows[i]["FormerIrId"].ToString() + "</td>");                strBuilder.Append("</tr>");
                }
                strBuilder.Append("</table>");            // 返回客户端 
                curContext.Response.Write(strBuilder.ToString());
                curContext.Response.End();
            }
      

  2.   

     curContext.Response.ContentEncoding = System.Text.Encoding.UTF8
    指定字符集编码看看