如何讓轉出來的excel中的表格的數據類型跟數據庫裡的一至。特別是如"123456"這種,數據庫裡是字串,但轉出來後變成數字了,在excel中還可以求和。

解决方案 »

  1.   

      Excel.Application app = new Excel.Application();
     _Workbook wkb = app.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
     _Worksheet wks = (_Worksheet)wkb.ActiveSheet;
     wks.Name = Name;
     wks.Visible = XlSheetVisibility.xlSheetVisible;我要指定wks中的某一列的存儲格式為文本如何寫。
    現在隻能   wks.Columns.NumberFormat ="@";
    如果這樣寫就把所有列都設為文本了, 我隻想設定某列的存儲格式。
                   
      

  2.   

    這樣寫((Excel.Worksheet)wks.Columns[i, j]).Columns.NumberFormat = "@";
    語法沒錯,但運行時報錯。
      

  3.   

    搞定了。
      for (int j = 0; j <= fieldName.Length - 1; j++)
                    {
                        if (dt.Columns[fieldName[j].ToString()].DataType.ToString() == "System.String")
                        {
                            for (int i = 0; i <= dt.Rows.Count; i++)
                            {
                                ((Excel.Range)wks.Cells[i+1, j + 1]).Columns.NumberFormat = "@";
                            }                    }
                        else continue;
                    }