首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

為何小弟我轉出的Excel數值列不能加總,好像全變成字符一樣。小弟我轉excel函數如下。大家幫看看有什麼問題沒有?

2012-01-16 
為何我轉出的Excel數值列不能加總,好像全變成字符一樣。我轉excel函數如下。大家幫看看有什麼問題沒有?急。/*

為何我轉出的Excel數值列不能加總,好像全變成字符一樣。我轉excel函數如下。大家幫看看有什麼問題沒有?急。
/*
                  *   此了函數用於把單表中的數據轉出excel
                  */
                static     public   void   ExportToExcel(object[]   columName,   object[]   fieldName,   System.Data.DataTable   dt,   string   Name)
                {
                        try
                        {
                           
                                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;
                                Range   wksRange;
                             
                                string[]   cellValue   =   new   string[columName.Length];
                                string[]   cellValue1   =   new   string[columName.Length];
                               
                                //加欄位名
                                for   (int   i   =   0;   i   <=   columName.Length   -   1;   i++)
                                        cellValue1[i]   =   columName[i].ToString();
                                wksRange   =   wks.get_Range(wks.Cells[1,   1],   wks.Cells[1,   fieldName.Length]);
#if   OFFICEXP
wksRange.set_Value(Missing.Value,   cellValue1);
#else
                                wksRange.Value   =   cellValue1;
#endif
                             
                                for   (int   i   =   0;   i   <=   dt.Rows.Count   -   1;   i++)


                                {
                                        for   (int   j   =   0;   j   <=   fieldName.Length   -   1;   j++)
                                        {
                                                //string   strValue   =   " ";
                                                if   (dt.Columns[fieldName[j].ToString()].DataType.ToString()   ==   "System.DateTime ")
                                                {
                                                        if   (dt.Rows[i][fieldName[j].ToString()]   !=   DBNull.Value)
                                                                cellValue[j]   =   Convert.ToDateTime(dt.Rows[i][fieldName[j].ToString()]).ToShortDateString();
                                                        else
                                                                cellValue[j]   =   " ";
                                                }
                                                else
                                                        cellValue[j]   =   dt.Rows[i][fieldName[j].ToString()].ToString();
                                                //cellValue[j]   =   strValue;

                                        }
                                        wksRange   =   wks.get_Range(wks.Cells[i   +   2,   1],   wks.Cells[i   +   2,   fieldName.Length]);
#if   OFFICEXP
                    wksRange.set_Value(Missing.Value,   cellValue);


#else
                                        wksRange.Value   =   cellValue;
#endif
                                }
                                wks.Columns.EntireColumn.AutoFit();//自動調整欄位的寬度
                                app.Visible   =   true;
                             

                        }
                        catch   (Exception   E)
                        {
                         
                                MessageBox.Show(E.Message);
                             
                        }
                }                


[解决办法]
没坐到沙发,帮忙顶

热点排行