代码如下: org.in2bits.MyXls.XlsDocument  Xls = new XlsDocument();      
        Xls.FileName = "Ext.xls"; 
       
        org.in2bits.MyXls. Worksheet Xsheet = Xls.Workbook.Worksheets.AddNamed("Sheet1");
        org.in2bits.MyXls.Cells cells = Xsheet.Cells;        int Rcount = myds.Tables[0].Rows.Count;
        int Ccount = myds.Tables[0].Columns.Count;       /*
        for (int T = 0; T < Tiltle.Length; T++)
        {
            cells.AddValueCell(1, T+1, Tiltle[T].ToString().Trim());
        
        }*/         int i,j;
         int RowIndex = 2;
    
            for (i = 1; i <= myds.Tables[0].Rows.Count;i++)
            {
               
                             for ( j = 1; j <= myds.Tables[0].Columns.Count; j++)
                {
                   
                                       if (j == 7)
                    {                        cells.AddValueCell(RowIndex, j, Convert.ToDouble(myds.Tables[0].Rows[i - 1][j - 1].ToString()));
                     //cells.AddValueCell(i,j, );
                   
                    }                  // else
                   // {  
                        
                      //  org.in2bits.MyXls.Cell cell = cells.AddValueCell(i,j, myds.Tables[0].Rows[i-1][j-1].ToString()); //}                }
                RowIndex++;
                            }
              Xls.Save(@"E:\CompanySystemTest\系統\Bill_Analysis\");
        
        myda.Dispose();
        myds.Dispose();
        cn.Close();
执行上段代码时 页面就会跳出NumberVal 不知道是那里出现问题,请各位大侠指点!

解决方案 »

  1.   

    //写入EXCEL文件
            public void OutPutExcel(DataTable dt, HttpResponse Response)
            {
                if (dt == null)
                {
                    ShowMsgBLL.MsgDivBox(3, "要导出的内容为空", "");
                    return;
                }
                Response.Clear();
                Response.Buffer = true;
                //设定输出的字符集
                Response.Charset = "utf-8";
                Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls", System.Text.Encoding.GetEncoding("utf-8")));
                Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
                //设置导出文件的格式
                Response.ContentType = "application/ms-excel"; ;
                StringBuilder strOutputHtml = new StringBuilder();
                string NumberAsTextExp = "vnd.ms-excel.numberformat:@";
                strOutputHtml.Append("<table border = 1>");
                //取得数据表各列标题
                foreach (DataColumn dc in dt.Columns)
                {
                    strOutputHtml.Append("<th scope='col'>");
                    strOutputHtml.Append(dc.ColumnName.ToString());
                    strOutputHtml.Append("</th>");
                }
                strOutputHtml.Append("</tr>");
                //逐列获得数据
                foreach (DataRow dr in dt.Rows)
                {
                    strOutputHtml.Append("<tr>");
                    foreach (DataColumn dc in dt.Columns)
                    {
                        string strdc = dr[dc].ToString();                    System.Text.RegularExpressions.Regex reg1
                              = new System.Text.RegularExpressions.Regex(@"^[-]?\d+[.]?\d*$");
                        if (dc.DataType == System.Type.GetType("System.String") && reg1.IsMatch(strdc)) //长字符串数字(9位以上)
                            strOutputHtml.Append("<td style='" + NumberAsTextExp + "'>"); //将数字按字符串格式导出,比如身份证号码
                        else
                            strOutputHtml.Append("<td>");                    strOutputHtml.Append(strdc);
                        strOutputHtml.Append("</td>");
                    }
                    strOutputHtml.Append("</tr>");
                }
                strOutputHtml.Append("</table>");            //向HTTP输出流中写入 
                Response.Write(strOutputHtml.ToString());
                Response.Flush();
                Response.End();
            }