2013-08-28 90 views
0
gvar.gintDGRow = 0; 
gvar.gintOrd = 0; 
string[,] strCanvass = new string[99999, 13]; 
string strLastRow; 
Excel2.Application oXL; 
Excel2._Workbook oWB; 
Excel2._Worksheet oSheet; 
Excel2.Range oRng; 



for (int i = 0; i < DataGridView1.RowCount - 1; i++) 
       { 

        if (DataGridView1.Rows[gvar.gintDGRow].Cells[0].Value.ToString() != "") 
        { 

          strCanvass[gvar.gintDGRow, 0] = DataGridView1.Rows[gvar.gintDGRow].Cells[0].Value.ToString(); 
          strCanvass[gvar.gintDGRow, 1] = DataGridView1.Rows[gvar.gintDGRow].Cells[1].Value.ToString(); 
          strCanvass[gvar.gintDGRow, 2] = DataGridView1.Rows[gvar.gintDGRow].Cells[2].Value.ToString(); 
          strCanvass[gvar.gintDGRow, 3] = DataGridView1.Rows[gvar.gintDGRow].Cells[3].Value.ToString(); 
          strCanvass[gvar.gintDGRow, 4] = DataGridView1.Rows[gvar.gintDGRow].Cells[4].Value.ToString(); 
          strCanvass[gvar.gintDGRow, 5] = DataGridView1.Rows[gvar.gintDGRow].Cells[5].Value.ToString(); 
          strCanvass[gvar.gintDGRow, 6] = DataGridView1.Rows[gvar.gintDGRow].Cells[6].Value.ToString(); 
          strCanvass[gvar.gintDGRow, 7] = DataGridView1.Rows[gvar.gintDGRow].Cells[8].Value.ToString(); 
          strCanvass[gvar.gintDGRow, 8] = DataGridView1.Rows[gvar.gintDGRow].Cells[9].Value.ToString(); 
          strCanvass[gvar.gintDGRow, 9] = DataGridView1.Rows[gvar.gintDGRow].Cells[10].Value.ToString(); 
          strCanvass[gvar.gintDGRow, 10] = DataGridView1.Rows[gvar.gintDGRow].Cells[11].Value.ToString(); 
          strCanvass[gvar.gintDGRow, 11] = DataGridView1.Rows[gvar.gintDGRow].Cells[12].Value.ToString();    
        } 


        gvar.gintDGRow++; 

       } 

       strLastRow = "L" + Convert.ToString(gvar.gintDGRow +1); 



oXL = new Excel2.Application(); 
       oXL.Visible = true; 

       //Get a new workbook. 
       oWB = (Excel2._Workbook)(oXL.Workbooks.Add(Missing.Value)); 
       oSheet = (Excel2._Worksheet)oWB.ActiveSheet; 

       //Add table headers going cell by cell. 
       oSheet.Cells[1, 1] = "RR Date"; 
       oSheet.Cells[1, 2] = "RR No."; 
       oSheet.Cells[1, 3] = "DR/SI"; 
       oSheet.Cells[1, 4] = "P.O. No."; 
       oSheet.Cells[1, 5] = "Vendor ID"; 
       oSheet.Cells[1, 6] = "Vendor Name"; 
       oSheet.Cells[1, 7] = "Van No."; 
       oSheet.Cells[1, 8] = "Item Code"; 
       oSheet.Cells[1, 9] = "Description"; 
       oSheet.Cells[1, 10] = "U of M."; 
       oSheet.Cells[1, 11] = "Qty Recv."; 
       oSheet.Cells[1, 12] = "Unit Cost"; 

       oSheet.get_Range("A1", "L1").Font.Bold = true; 
       oSheet.get_Range("A1", "L1").VerticalAlignment = 
       Excel2.XlVAlign.xlVAlignCenter; 


       // Create an array to multiple values at once. 

       for (int x = 0; x < strCanvass.Length; x++) 
       { 
       Convert.ToDecimal(strCanvass[x, 11]); 
       oSheet.get_Range("A2", strLastRow).Value2 = strCanvass; 
       }  
       oXL.Visible = true; 
       oXL.UserControl = true; 

为十进制我有一个12列数据的数据网格列表中插入到一个数组我做了,大声回该阵列将数据导出只青出于蓝而11列需要转换为十进制才能被总结。我试图转换它,但它并没有总结在Excel中为了总和它需要在右边是总和,但是当我把它导出到它的左边,这是无法总结。谁能帮我这个我不明白它好后悔..数组列表导出数据到Excel转换从字符串

enter image description here

回答

0

让你的数据类型等于DocumentFormat.OpenXml.Spreadsheet.CellValues.Number。

cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; 
相关问题