最近工作小结

1.IIS中调用com组件读取失败

  这个问题基本可以确定是个权限的问题,在web.config中添加identify节点,在里面设置相应的账号信息。在系统用户和组中,也要添加相应的用户,这个用户要添加到Adminstrator组中,给予最高权限。至于网上说的那些方法,在我的实验中,基本都不可行。

2.将文件保存为Excel

 
            object oMissing = System.Reflection.Missing.Value;
            Excel.ApplicationClass excelapp = new Excel.ApplicationClass();
            excelapp.Visible = visiable;
            Excel.Workbooks wbs = excelapp.Workbooks;
            Excel.Workbook wb = wbs.Add(oMissing);
            Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets[1];//sheet1
            Excel.Range excelRange = ws.get_Range("A1", "A1");
            excelRange.NumberFormatLocal = "@"; //设置单元的格式为文本格式。            
            ws.Name = "现场解吸报告-中石油廊坊分院";//Excel sheet的名字。
            //excelRange.WrapText = true;//自动换行
            //excelRange.EntireColumn.AutoFit();//自动调整列宽
            ws.Cells.Select();
            ws.Cells.Columns.AutoFit();
            ws.Cells.WrapText = true;
            ws.Cells.EntireColumn.AutoFit();
            ((Excel.Range)ws.Rows["1:1", System.Type.Missing]).RowHeight = 90;
            ((Excel.Range)ws.Rows["2:2", System.Type.Missing]).RowHeight = 35; 
            ((Excel.Range)ws.Rows["3:3", System.Type.Missing]).RowHeight = 30;
            ((Excel.Range)ws.Rows["4:4", System.Type.Missing]).RowHeight = 50;
            ws.get_Range(ws.Cells[1, 1],ws.Cells[1,14]).Merge(0);//单元格合并            
            ws.get_Range(ws.Cells[1, 1], ws.Cells[1, 14]).Font.Size = 28;
            ws.get_Range(ws.Cells[1, 1], ws.Cells[1, 14]).Font.Color = System.Drawing.ColorTranslator.ToOle(Color.Red);//单元格字体颜色
            ws.get_Range(ws.Cells[1, 1], ws.Cells[1, 14]).Font.Name = "Arial";
            ws.get_Range(ws.Cells[1, 1], ws.Cells[1, 14]).Font.Bold = true;//单元格内字体加粗
            ws.get_Range(ws.Cells[1, 1], ws.Cells[1, 14]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
            string str1 = "Desorption Daily Report  —PRIED Langfang,现场解吸报告-中石油廊坊分院";
            str1 = str1.Replace(",", "\r\n");
            ws.Cells[1, 1] = str1;//单元格的内容。          
            ws.get_Range(ws.Cells[2, 11], ws.Cells[2, 14]).Merge(0);
            ws.get_Range(ws.Cells[2, 11], ws.Cells[2, 14]).Font.Size = 12;
            ws.get_Range(ws.Cells[2, 11], ws.Cells[2, 14]).Font.Name = "Arial";
            ws.get_Range(ws.Cells[2, 11], ws.Cells[2, 14]).Font.Bold = true;
            ws.get_Range(ws.Cells[2, 11], ws.Cells[2, 14]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
            ws.Cells[2, 11] = "Date: " + DateTime.Now + "\r\n报告日期: " + DateTime.Now;
            ws.get_Range(ws.Cells[2, 1], ws.Cells[2, 10]).Merge(0);
            ws.get_Range(ws.Cells[2, 1], ws.Cells[2, 10]).Font.Size = 12;
            ws.get_Range(ws.Cells[2, 1], ws.Cells[2, 10]).Font.Name = "Arial";
            ws.get_Range(ws.Cells[2, 1], ws.Cells[2, 10]).Font.Bold = true;
            ws.get_Range(ws.Cells[2, 1], ws.Cells[2, 10]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
            ws.Cells[2, 1] = "Well ID:  " + wellName + "\r\n井名:  " + wellName;
            ws.get_Range(ws.Cells[3, 14], ws.Cells[4, 14]).Merge(0);
            ws.get_Range(ws.Cells[3, 14], ws.Cells[4, 14]).Font.Size = 12;
            ws.get_Range(ws.Cells[3, 14], ws.Cells[4, 14]).Font.Name = "Arial";
            ws.get_Range(ws.Cells[3, 14], ws.Cells[4, 14]).Font.Bold = true;
            ws.get_Range(ws.Cells[3, 14], ws.Cells[4, 14]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
            ws.Cells[3, 14] = "comment\r\n 备注";
            
            ws.get_Range(ws.Cells[3, 13], ws.Cells[4, 13]).Merge(0);
            ws.get_Range(ws.Cells[3, 13], ws.Cells[4, 13]).Font.Size = 12;
            ws.get_Range(ws.Cells[3, 13], ws.Cells[4, 13]).Font.Name = "Arial";
            ws.get_Range(ws.Cells[3, 13], ws.Cells[4, 13]).Font.Bold = true;
            ws.get_Range(ws.Cells[3, 13], ws.Cells[4, 13]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
            ws.Cells[3, 13] = "Final Increase(%)\r\n 增长率(%)";
            ws.get_Range(ws.Cells[3, 9], ws.Cells[3, 12]).Merge(0);
            ws.get_Range(ws.Cells[3, 9], ws.Cells[3, 12]).Font.Size = 12;
            ws.get_Range(ws.Cells[3, 9], ws.Cells[3, 12]).Font.Name = "Arial";
            ws.get_Range(ws.Cells[3, 9], ws.Cells[3, 12]).Font.Bold = true;
            ws.get_Range(ws.Cells[3, 9], ws.Cells[3, 12]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
            ws.Cells[3, 9] = "Gas Content\r\n含气量";
            //多单元格设置
            ws.get_Range(ws.Cells[4, 9], ws.Cells[4, 12]).Font.Size = 12;
            ws.get_Range(ws.Cells[4, 9], ws.Cells[4, 12]).Font.Name = "Arial";
            ws.get_Range(ws.Cells[4, 9], ws.Cells[4, 12]).Font.Bold = true;
            ws.get_Range(ws.Cells[4, 9], ws.Cells[4, 12]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
            ws.Cells[4, 12] = "Qtotal,\r\ncc/g";
            ws.Cells[4, 11] = "Q3,cc/g";
            ws.Cells[4, 10] = "Q2,cc/g";
            ws.Cells[4,  9] = "Q1,cc/g";
            
            //多单元设置
            ws.get_Range(ws.Cells[3, 1], ws.Cells[3, 8]).Font.Size = 12;
            ws.get_Range(ws.Cells[3, 1], ws.Cells[3, 8]).Font.Name = "Arial";
            ws.get_Range(ws.Cells[3, 1], ws.Cells[3, 8]).Font.Bold = true;
            ws.get_Range(ws.Cells[3, 1], ws.Cells[3, 8]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;           
            
           
            ws.get_Range(ws.Cells[3, 8], ws.Cells[4, 8]).Merge(0);
            ws.Cells[3, 8] = "Water Base,°c\r\n水浴温度,°c";
            ws.get_Range(ws.Cells[3, 7], ws.Cells[4, 7]).Merge(0);
            ws.Cells[3, 7] = "Weight,g \r\n重量,g";
            ws.get_Range(ws.Cells[3, 6], ws.Cells[4, 6]).Merge(0);
            ws.Cells[3, 6] = "Length, m\r\n长度,m";
            ws.get_Range(ws.Cells[3, 5], ws.Cells[4, 5]).Merge(0);
            ws.Cells[3, 5] = "Center,\r\n深度中值,m";
            ws.get_Range(ws.Cells[3, 4], ws.Cells[4, 4]).Merge(0);
            ws.Cells[3, 4] = "Base,m\r\n样品底深,m";
            ws.get_Range(ws.Cells[3, 3], ws.Cells[4, 3]).Merge(0);
            ws.Cells[3, 3] = "Top,m\r\n样品顶深,m";
            ws.get_Range(ws.Cells[3, 2], ws.Cells[4, 2]).Merge(0);
            ws.Cells[3, 2] = "Core Date\r\n取心日期";
            ws.get_Range(ws.Cells[3, 1], ws.Cells[4, 1]).Merge(0);
            ws.Cells[3, 1] = "Sample No\r\n样品编号";
            for (int i = 0; i < desorptionDailyReport.Count;i++)
            {
                ws.Cells[i + 5, 1] = desorptionDailyReport[i].SampleNo;
                ws.Cells[i + 5, 2] = desorptionDailyReport[i].CoreData;
                ws.Cells[i + 5, 3] = desorptionDailyReport[i].TopM;
                ws.Cells[i + 5, 4] = desorptionDailyReport[i].BaseM;
                ws.Cells[i + 5, 5] = desorptionDailyReport[i].CenterM;
                ws.Cells[i + 5, 6] = desorptionDailyReport[i].Length;
                ws.Cells[i + 5, 7] = desorptionDailyReport[i].Weight;
                ws.Cells[i + 5, 8] = desorptionDailyReport[i].Temperture;
                ws.Cells[i + 5, 9] = desorptionDailyReport[i].Q1;
                ws.Cells[i + 5, 10] = desorptionDailyReport[i].Q2;
                ws.Cells[i + 5, 11] = desorptionDailyReport[i].Q3;
                ws.Cells[i + 5, 12] = desorptionDailyReport[i].Total;
                ws.Cells[i + 5, 13] = desorptionDailyReport[i].FinalIncrease;
                ws.Cells[i + 5, 14] = desorptionDailyReport[i].Comment;
            }
            ws.SaveAs(savePath, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);
            ws.Application.Quit();

            excelapp.Quit(); 

posted @ 2011-01-21 13:16  命运之子  阅读(279)  评论(0编辑  收藏  举报