1. 程式人生 > >C#,匯出Excel時,第一個為0時不顯示,

C#,匯出Excel時,第一個為0時不顯示,

只需在前面加上單引號 " ' "可,如下

dcv[2] ="'" +drBH["BH_CHDZ"].ToString(); ;//補貨倉

詳細程式碼如下:

private void Report_BHD_Excel_MB()//轉Excel模板;
        {
            
            if (dsforexcel != null)//
            {
                dsforexcel.Clear();
            }
            dsforexcel = Query_ToExcel_MB(getwherestr());
          


            //DataSet dsforexcel = BASEINFO.DecompressDS(Pos.Report_BHD(getwherestr()));
            #region tran_to_excel_mb
            Excel.Application app = new Excel.Application();


            _Workbook wkb = app.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
            _Worksheet wks = (_Worksheet)wkb.ActiveSheet;
            app.ActiveWindow.DisplayZeros = false;
            wks.Visible = XlSheetVisibility.xlSheetVisible;
            wks.Name = "補貨excel模板(橫排)";
            Range wksRange;
            string[] cellValue = new string[100];


            cellValue[0] = ""; cellValue[1] = ""; cellValue[2] = ""; cellValue[3] = "";
            cellValue[4] = ""; cellValue[5] = ""; 


             cellValue[6] = "(幼)130"; cellValue[7] = "140"; cellValue[8] = "150";
            cellValue[9] = "160"; cellValue[10] = "170"; cellValue[11] = "180"; cellValue[12] = "190";
            cellValue[13] = "200"; cellValue[14] = "210"; cellValue[15] = "220"; cellValue[16] = "230";
            cellValue[17] = "240"; cellValue[18] = "250"; cellValue[19] = "260"; cellValue[20] = "270";
            cellValue[21] = "";


            wksRange = wks.get_Range("A1", "AF1");
#if OFFICEXP
wksRange.set_Value(Missing.Value, cellValue);
#else
            wksRange.Value = cellValue;
#endif
            cellValue[0] = "匯入時,刪除灰色的行和列欄位. 同時把單號改成數字:1 2 3 4 5..."; cellValue[1] = ""; cellValue[2] = ""; cellValue[3] = "";
            cellValue[4] = ""; cellValue[5] = "";
       
             cellValue[6] = "(童)230"; cellValue[7] = "240"; cellValue[8] = "250";
            cellValue[9] = "260"; cellValue[10] = "270"; cellValue[11] = "280"; cellValue[12] = "290";
            cellValue[13] = "300"; cellValue[14] = "310"; cellValue[15] = "320"; cellValue[16] = "330";
            cellValue[17] = "340"; cellValue[18] = "350"; cellValue[19] = "360"; cellValue[20] = "370";
            cellValue[21] = "";
            cellValue[22] = "";


            wksRange = wks.get_Range("A2", "AF2");
#if OFFICEXP
wksRange.set_Value(Missing.Value, cellValue);
#else
            wksRange.Value = cellValue;
#endif
            // object[] dcv = new object[100];
            cellValue[0] = ""; cellValue[1] = ""; cellValue[2] = ""; cellValue[3] = "";
            cellValue[4] = ""; cellValue[5] = "";


            cellValue[6] = "(男)370"; cellValue[7] = "375"; cellValue[8] = "380";
            cellValue[9] = "385"; cellValue[10] = "390"; cellValue[11] = "395"; cellValue[12] = "400";
            cellValue[13] = "405"; cellValue[14] = "410"; cellValue[15] = "415"; cellValue[16] = "420";
            cellValue[17] = "425"; cellValue[18] = "430"; cellValue[19] = "435"; cellValue[20] = "440";
            cellValue[21] = "";


            wksRange = wks.get_Range("A3", "AF3");




#if OFFICEXP
wksRange.set_Value(Missing.Value, cellValue);
#else
            wksRange.Value = cellValue;
#endif
            // object[] dcv = new object[100];




            cellValue[0] = "單號"; cellValue[1] = "出貨日期"; cellValue[2] = "補貨倉碼"; cellValue[3] = "補貨日期";
            cellValue[4] = "管理碼"; 
            cellValue[5] = "型別";  


            cellValue[6] = "(女)330"; cellValue[7] = "335"; cellValue[8] = "340";
            cellValue[9] = "345"; cellValue[10] = "350"; cellValue[11] = "355"; cellValue[12] = "360";
            cellValue[13] = "365"; cellValue[14] = "370"; cellValue[15] = "375"; cellValue[16] = "380";
            cellValue[17] = "385"; cellValue[18] = "390"; cellValue[19] = "395"; cellValue[20] = "400";
            cellValue[21] = "小計";


            cellValue[22] = "鞋類別";
            cellValue[23] = "顏色";
            cellValue[24] = "材質";
            cellValue[25] = "品牌";
            cellValue[26] = "出貨地址";
            cellValue[27] = "單價";
            cellValue[28] = "存檔人";




            wksRange = wks.get_Range("A4", "AF4");
#if OFFICEXP
wksRange.set_Value(Missing.Value, cellValue);
#else
            wksRange.Value = cellValue;
#endif
             waiting w = new waiting();
            object[] dcv = new object[100];
            int rowindex = 0;
            int ys_index = dsforexcel.Tables[0].Rows.Count;
            for (int i = 0; i < dsforexcel.Tables[0].Rows.Count; i++)
            {
               
                w.Show();
                w.label1.Text = "正在努力處理資料,請稍侯...";
                w.Refresh();


                System.Data.DataRow drBH = dsforexcel.Tables[0].Rows[i];
                dcv[0] = drBH["BH_DH"].ToString();//單號
                dcv[1] = Convert.ToDateTime(drBH["BH_CHRQ"]).ToShortDateString();//出貨日期
                dcv[2] ="'" +drBH["BH_CHDZ"].ToString(); ;//補貨倉
                dcv[3] = Convert.ToDateTime(drBH["BH_RQ"]).ToShortDateString();//補貨日期
                dcv[4] = drBH["BHMX_GLM"].ToString();//貨號
                 dcv[5] = "9";//空


                dcv[6] = drBH["TEMP_330370"].ToString();
                dcv[7] = drBH["TEMP_335375"].ToString();
                dcv[8] = drBH["TEMP_340380"].ToString();
                dcv[9] = drBH["TEMP_345385"].ToString();
                dcv[10] = drBH["TEMP_350390"].ToString();
                dcv[11] = drBH["TEMP_355395"].ToString();
                dcv[12] = drBH["TEMP_360400"].ToString();
                dcv[13] = drBH["TEMP_365405"].ToString();
                dcv[14] = drBH["TEMP_370410"].ToString();
                dcv[15] = drBH["TEMP_375415"].ToString();
                dcv[16] = drBH["TEMP_380420"].ToString();
                dcv[17] = drBH["TEMP_385425"].ToString();
                dcv[18] = drBH["TEMP_390430"].ToString();
                dcv[19] = drBH["TEMP_395435"].ToString();
                dcv[20] = drBH["TEMP_400440"].ToString();
                dcv[21] = drBH["SL"].ToString();


                dcv[22] = drBH["XLB_MC"].ToString();//鞋類別7
                dcv[23] = drBH["YS_ZWM"].ToString();//顏色4
                dcv[24] = drBH["CZ_ZWM"].ToString();//材質5
                dcv[25] = drBH["PP_MC"].ToString();//品牌6
                dcv[26] = drBH["CW_MC"].ToString();//倉位名稱2
                dcv[27] = drBH["CP_DJ"].ToString();//單價8
                dcv[28] = drBH["CDRUXM"].ToString();//存檔人9




                wksRange = wks.get_Range("A" + ((rowindex) + 5).ToString(), "AZ" + (5 + (rowindex++)).ToString());
                wks.get_Range("A1", "A1").ColumnWidth = 15;
                wks.get_Range("B1", "B1").ColumnWidth = 10;
                wks.get_Range("C1", "C1").ColumnWidth = 10;
                wks.get_Range("D1", "D1").ColumnWidth = 10;
                wks.get_Range("E1", "E1").ColumnWidth = 10;
                wks.get_Range("F1", "F1").ColumnWidth = 5;
                wks.get_Range("G1", "G1").ColumnWidth = 6;
                wks.get_Range("H1", "H1").ColumnWidth = 3;


                wks.get_Range("I1", "I1").ColumnWidth = 3;
                wks.get_Range("J1", "J1").ColumnWidth = 3;
                wks.get_Range("K1", "K1").ColumnWidth = 3;
                wks.get_Range("L1", "L1").ColumnWidth = 3;
                wks.get_Range("M1", "M1").ColumnWidth = 3;
                wks.get_Range("N1", "N1").ColumnWidth = 3;
                wks.get_Range("O1", "O1").ColumnWidth = 3;
                wks.get_Range("P1", "P1").ColumnWidth = 3;
                wks.get_Range("Q1", "Q1").ColumnWidth = 3;
                wks.get_Range("R1", "R1").ColumnWidth = 3;
                wks.get_Range("S1", "S1").ColumnWidth = 3;
                wks.get_Range("T1", "T1").ColumnWidth = 3;
                wks.get_Range("U1", "U1").ColumnWidth = 3;
                wks.get_Range("V1", "V1").ColumnWidth = 8;
                wks.get_Range("W1", "W1").ColumnWidth = 10;
                wks.get_Range("Y1", "Y1").ColumnWidth = 8;
                wks.get_Range("X1", "X1").ColumnWidth = 10;
                wks.get_Range("Z1", "Z1").ColumnWidth = 20;


               
                //更改顏色
                //wks.get_Range("W1" , "W" ).Interior.ColorIndex = 48;
                //wks.get_Range("Y1", "Y1").Interior.ColorIndex = 48;
                //wks.get_Range("X1", "X1").Interior.ColorIndex = 48;
                //wks.get_Range("Z1", "Z1").Interior.ColorIndex = 48;
                //wks.get_Range("AA1", "AA1").Interior.ColorIndex = 48;
                //wks.get_Range("AB1", "AB1").Interior.ColorIndex = 48;
                //wks.get_Range("AC1", "").Interior.ColorIndex = 48;




                wksRange.Value = dcv;
            }
            //更改excel顏色
            wks.get_Range(wks.Cells[1, 23], wks.Cells[ys_index+4, 29]).Interior.ColorIndex = 48;
            wks.get_Range(wks.Cells[1, 1], wks.Cells[3 , 22]).Interior.ColorIndex = 48;
            wks.get_Range("A2", "E2").Interior.ColorIndex = 3;
            w.Close();


#if OFFICEXP
wksRange.set_Value(Missing.Value, dcv);
#else


            app.Visible = true;
#endif
            ;
            #endregion
        }