文章标题

protected void txtout_Click(object sender, EventArgs e)
{

        string word = ViewState["SelectedWOID"].ToString();
        List<Entity.QualManage.PieceStem> list = bllPS.GetexcelInfo(word);
        List<Entity.QualManage.BladeConstitute> list1 = bllPI.GetexcelInfo(word);

        int count = list.Count/10;          
        string time = list[0].DetectTime;
        NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
        NPOI.SS.UserModel.ISheet sheet = book.CreateSheet("sheet1");
        //ICellStyle cellStyle = book.CreateCellStyle();
        //设置单元格的样式:水平对齐居中
        //cellStyle.VerticalAlignment = VerticalAlignment.Justify;//垂直对齐(默认应该为center,如果center无效则用justify)
        //cellStyle.Alignment = HorizontalAlignment.Center;//水平对齐
        //row2.CreateCell(0).CellStyle = cellstyle;
        //NPOI .SS.UserModel.i
        //标题
        NPOI.SS.UserModel.IRow row = sheet.CreateRow(0);                      
        row.CreateCell(0).SetCellValue("叶片结构原始表");
        CellRangeAddress region = new CellRangeAddress(0, 0, 0, 80);//合并单元格
        sheet.AddMergedRegion(region);
        //
        NPOI.SS.UserModel.IRow row1 = sheet.CreateRow(1);
        row1.CreateCell(0).SetCellValue("日期"); 
        row1.CreateCell(1).SetCellValue(time);
        row1.CreateCell(5).SetCellValue("厂家");
        row1.CreateCell(6).SetCellValue("");
        row1.CreateCell(8).SetCellValue("班次");
        string  team = list [0].TeamName;
        string banci = list [0].ShiftName ;                   
        row1 .CreateCell (9).SetCellValue (team);


            // 第一行
            NPOI.SS.UserModel.IRow row2 = sheet.CreateRow(2);
            row2.CreateCell(0).SetCellValue("项目");
            CellRangeAddress region0 = new CellRangeAddress(2, 4, 0, 0);//合并单元格
            sheet.AddMergedRegion(region0);
            for (int i = 1; i <=count ; i++)
            {


                row2.CreateCell(1).SetCellValue("检测次数"); 
                string no = list[i-1].DetectNo; 
                row2.CreateCell(2*i ).SetCellValue(no);


                CellRangeAddress region1 = new CellRangeAddress(2, 2, 2*i, 2*i+1 );//合并单元格
                sheet.AddMergedRegion(region1);

            }

            // 第二行
            NPOI.SS.UserModel.IRow row3 = sheet.CreateRow(3);
            row3.CreateCell(1).SetCellValue("取样时间");
            row3.CreateCell(2).SetCellValue("8:00");
            CellRangeAddress region2 = new CellRangeAddress(3, 3, 2, 3);//合并单元格
            sheet.AddMergedRegion(region2);
            ///
            NPOI.SS.UserModel.IRow row4 = sheet.CreateRow(4);
            row4.CreateCell(1).SetCellValue("单位");
            row4.CreateCell(2).SetCellValue("g");
            row4.CreateCell(3).SetCellValue("%");

            // 叶片结构
            NPOI.SS.UserModel.IRow row5 = sheet.CreateRow(5);
            row5.CreateCell(0).SetCellValue("叶片结构");
            row5.CreateCell(1).SetCellValue("叶片总重");

            for (int i = 1; i <= count; i++)
            {
                string sw = list[i-1].SampleTotalWt.ToString();
                row5.CreateCell(2*i).SetCellValue(sw);
                CellRangeAddress region9 = new CellRangeAddress(5, 5, 2*i, 2*i+1);//合并单元格
                sheet.AddMergedRegion(region9);
            }
            CellRangeAddress region3 = new CellRangeAddress(5, 13, 0, 0);//合并单元格
            sheet.AddMergedRegion(region3);
            CellRangeAddress region4 = new CellRangeAddress(5, 5, 2, 3);//合并单元格
            sheet.AddMergedRegion(region4);
            //≥25.4mm
            NPOI.SS.UserModel.IRow row6 = sheet.CreateRow(6);

            row6.CreateCell(1).SetCellValue("≥25.4mm");

            for (int i = 1; i <=count; i++)
            { 
                string w1 = list[i-1].SampleWt.ToString();

                row6.CreateCell(2*i).SetCellValue(w1);

            }
            for (int i = 1; i <= count; i++)
            {

                string p1 = list[i - 1].DetectProp.ToString();

                row6.CreateCell(2 * i+1).SetCellValue(p1);
            }


            //12.7-25.4mm
            NPOI.SS.UserModel.IRow row7 = sheet.CreateRow(7);

            row7.CreateCell(1).SetCellValue("12.7-25.4mm");
            for (int i = 1 ; i <= count; i++)
            { 
             string w2 = list[i +7*count -1].SampleWt.ToString(); 
                row7.CreateCell(2*i).SetCellValue(w2);
            }
            for (int i = 1; i <= count; i++)
            {
                string p2 = list[i+7*count -1].DetectProp.ToString();

                row7.CreateCell(2*i+1).SetCellValue(p2);
            }
            //≥12.7mm
            NPOI.SS.UserModel.IRow row8 = sheet.CreateRow(8);

            row8.CreateCell(1).SetCellValue("≥12.7mm");
            for (int i = 1; i <= count; i++)
            {
                string w3 = list[i +count -1].SampleWt.ToString();
                row8.CreateCell(2*i).SetCellValue(w3);
            }
            for (int i = 1; i <= count; i++)
            {
                string p3 = list[i +count -1].DetectProp.ToString();

                row8.CreateCell(2*i+1).SetCellValue(p3);
            }
            //6.35-12.7mm
            NPOI.SS.UserModel.IRow row9 = sheet.CreateRow(9);

            row9.CreateCell(1).SetCellValue("6.35-12.7mm");
            for (int i = 1; i <= count; i++)
            {
                string w4 = list[i +8*count - 1].SampleWt.ToString();
                row9.CreateCell(2*i).SetCellValue(w4);
            }
            for (int i = 1; i <= count; i++)
            {
                string p4 = list[i +8*count- 1].DetectProp .ToString();
                row9.CreateCell(2 * i+1).SetCellValue(p4);
            }
            //≥6.35mm
            NPOI.SS.UserModel.IRow row10 = sheet.CreateRow(10);
            row10.CreateCell(1).SetCellValue("≥6.35mm");
            for (int i = 1; i <= count; i++)
            {
                string w5 = list[i+2*count  - 1].SampleWt.ToString();
                row10.CreateCell(2 * i).SetCellValue(w5);
            }
            for (int i = 1; i <= count; i++)
            {
                string p5 = list[i+2*count  - 1].DetectProp.ToString();
                row10.CreateCell(2 * i + 1).SetCellValue(p5);
            }

            //3.18-6.35mm
            NPOI.SS.UserModel.IRow row11 = sheet.CreateRow(11);
            row11.CreateCell(1).SetCellValue("3.18-6.35mm");
            for (int i = 1; i <= count; i++)
            {
                string w6 = list[i+9*count  - 1].SampleWt.ToString();
                row11.CreateCell(2 * i).SetCellValue(w6);
            }
            for (int i = 1; i <= count; i++)
            {
                string p6 = list[i+9*count - 1].DetectProp.ToString();
                row11.CreateCell(2 * i + 1).SetCellValue(p6);
            }

            //≥3.18mm
            NPOI.SS.UserModel.IRow row12 = sheet.CreateRow(12);

            row12.CreateCell(1).SetCellValue("≥3.18mm");
            for (int i = 1; i <= count; i++)
            {
                string w7 = list[i+3*count - 1].SampleWt.ToString();
                row12.CreateCell(2 * i).SetCellValue(w7);
            }
            for (int i = 1; i <= count; i++)
            {
                string p7 = list[i +3*count- 1].DetectProp.ToString();
                row12.CreateCell(2 * i + 1).SetCellValue(p7);
            }

            //≤3.18mm
            NPOI.SS.UserModel.IRow row13 = sheet.CreateRow(13);
            row13.CreateCell(1).SetCellValue("≤3.18mm");
            for (int i = 1; i <= count; i++)
            {
                string w8 = list[i+6*count - 1].SampleWt.ToString();
                row13.CreateCell(2 * i).SetCellValue(w8);
            }
            for (int i = 1; i <= count; i++)
            {
                string p8 = list[i + 6 * count - 1].DetectProp.ToString();
                row13.CreateCell(2 * i + 1).SetCellValue(p8);
            }

            //叶中含梗
            NPOI.SS.UserModel.IRow row14 = sheet.CreateRow(14);
            row14.CreateCell(0).SetCellValue("叶重含梗");
            CellRangeAddress region5 = new CellRangeAddress(14, 16, 0, 0);//合并单元格
            sheet.AddMergedRegion(region5);
            row14.CreateCell(1).SetCellValue("总梗重");
            for (int i = 1; i <= count; i++)
            {
                string w9 = list[i+4 * count  - 1].SampleWt .ToString();
                row14.CreateCell(2*i).SetCellValue(w9);
                CellRangeAddress region10 = new CellRangeAddress(14, 14, 2*i, 2*i+1);//合并单元格
                sheet.AddMergedRegion(region10);
            }
            CellRangeAddress region6 = new CellRangeAddress(14, 14, 2, 3);//合并单元格
            sheet.AddMergedRegion(region6);
            //叶中含梗
            NPOI.SS.UserModel.IRow row15 = sheet.CreateRow(15);

            row15.CreateCell(1).SetCellValue("叶中含梗");
            for (int i = 1; i <= count; i++)
            {
                string w9 = list[i+4*count  -1].SampleWt .ToString ();
                row15.CreateCell(2*i).SetCellValue(w9);
            }
            for (int i = 1; i <= count; i++)
            {
                string p9 = list[i+4 * count  - 1].DetectProp .ToString();
                row15.CreateCell(2*i+1).SetCellValue(p9);
            }
            //OBJ
            NPOI.SS.UserModel.IRow row16 = sheet.CreateRow(16);
            row16.CreateCell(1).SetCellValue("OBJ");

            for (int i = 1; i <= count; i++)
            {
                string w10 = list[i+5 * count  - 1].SampleWt  .ToString();
                row16.CreateCell(2*i).SetCellValue(w10);
            }
            for (int i = 1; i <= count; i++)
            {
                string p10 = list[i+5* count - 1].DetectProp.ToString();
                row16.CreateCell(2*i +1).SetCellValue(p10);
            }
            // 梗重含叶
            NPOI.SS.UserModel.IRow row17= sheet.CreateRow(17);

            row17.CreateCell(0).SetCellValue("梗重含叶");
            CellRangeAddress region7 = new CellRangeAddress(17, 19, 0, 0);//合并单元格
            sheet.AddMergedRegion(region7);
            row17.CreateCell(1).SetCellValue("梗重");
            for (int i = 1; i <= count; i++)
            {
                string w = list1[i-1].SampleTotalWt.ToString();
                row17.CreateCell(2*i).SetCellValue(w);
                CellRangeAddress region11 = new CellRangeAddress(17, 17, 2*i, 2*i+1);//合并单元格
                sheet.AddMergedRegion(region11);
            }
            CellRangeAddress region8 = new CellRangeAddress(17, 17, 2, 3);//合并单元格
            sheet.AddMergedRegion(region8);
            NPOI.SS.UserModel.IRow row18= sheet.CreateRow(18);
            row18.CreateCell(1).SetCellValue("叶重");
            for (int i = 1; i <= count; i++)
            {
                string w11 = list1[i - 1].LeafWt.ToString();
                row18.CreateCell(2 * i).SetCellValue(w11);
            }
            for (int i = 1; i <= count; i++)
            {
                string p11 = list1[i - 1].LeafProp.ToString();
                row18.CreateCell(2 * i + 1).SetCellValue(p11);
            }
            NPOI.SS.UserModel.IRow row19= sheet.CreateRow(19);
            row19.CreateCell(1).SetCellValue("≥20mm烟梗");
            for (int i = 1; i <= count; i++)
            {
                string w12 = list1[i+count - 1].LeafWt.ToString();
                row19.CreateCell(2 * i).SetCellValue(w12);
            }
            for (int i = 1; i <= count; i++)
            {
                string p12 = list1[i+count - 1].LeafProp.ToString();
                row19.CreateCell(2 * i + 1).SetCellValue(p12);
            }

        // 写入到客户端  
        System.IO.MemoryStream ms = new System.IO.MemoryStream();
        book.Write(ms);
        Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xls", DateTime.Now.ToString("yyyyMMddHHmmssfff")));
        Response.BinaryWrite(ms.ToArray());
        book = null;
        ms.Close();
        ms.Dispose();
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值