zoukankan      html  css  js  c++  java
  • C# 生成word 文档 代码 外加 IIS报错解决方案

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using VanCloud.HPCCloud.UserManager;
    using VanCloud.HPCCloud.ReportManager;
    using System.IO;
    using System.Drawing;
    using Microsoft.Office.Interop.Word;
    using VanCloud.HPCCloud.DataReport;
    using VanCloud.HPCCloud.SystemConfig;
    using System.Text;
    
    namespace SimCloud.Admin
    {
    
        public partial class GenerateReport : System.Web.UI.Page
        {
            log4net.ILog log = log4net.LogManager.GetLogger(typeof(GenerateReport));
    
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    GetAllGroup();
                }
            }
    
    
            /// <summary>
            /// confirm click
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            protected void btnConfirm_Click(object sender, EventArgs e)
            {
                try
                {
                    DateTime startTime = DateTime.MinValue;
                    if (!string.IsNullOrEmpty(txtFromDt.Text.Trim()))
                    {
                        if (!DateTime.TryParse(txtFromDt.Text.Trim(), out startTime))
                        {
                            lblErrorMessage.Text = "TimeFormatError";
                            return;
                        }
                    }
                    DateTime endTime = DateTime.Now.Date;
                    if (!string.IsNullOrEmpty(txtToDt.Text.Trim()))
                    {
                        if (!DateTime.TryParse(txtToDt.Text.Trim(), out endTime))
                        {
                            lblErrorMessage.Text = "TimeFormatError";
                            return;
                        }
                    }
                    if (startTime.CompareTo(endTime) > 0)
                    {
                        ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "onekey", "alert('开始时间不能大于结束时间')", true);
                        return;
                    }
                    TimeSpan s = new TimeSpan(endTime.Ticks - startTime.Ticks);
    
                    if (endTime.Date >= DateTime.Now.Date || startTime.Date >= DateTime.Now.Date)
                    {
                        ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "onekey", "alert('当天和当天之后的日期不能选择')", true);
                        return;
                    }
    
                    if (s.TotalDays >= 32)
                    {
                        ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "onekey", "alert('时间不能大于一个月')", true);
                        return;
                    }
    
                    string start = "开始" + DateTime.Now.ToString();
                    try
                    {
                        CreateWordFile(startTime, endTime);
                    }
                    catch (Exception ex)
                    {
                        log.Error(ex);
                    }
                    string end = "结束" + DateTime.Now.ToString();
    
                    // ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "onekey", "alert('Word报表生成成功" + start + "" + end + "!')", true);
                    log.Info("Word报表生成成功" + start + "" + end + "!");
                    lblErrorMessage.Text = "";
                }
                catch (Exception ex)
                {
                    log.Error(ex.Message);
                    log.Error(ex.StackTrace);
                }
    
            }
    
    
            public void CreateWordFile(DateTime startTime, DateTime endTime)
            {
    
              
    
                System.Data.DataTable dt = new ReportUtilityFactory(VanCloud.HPCCloud.HPCJobManager.SystemHPCTypeEnum.All, "VanCloud.HPCCloud.DataReport.Properties.Settings.HPCReportingConnectionString", CommonConfig.SystemBasicInfo.LinuxRestAPIPath).GetHistryJobListForServiceReport_SHDQ(startTime, endTime, this.ddlGroupName.SelectedValue);
                UserPermission userPerm = new UserPermission("SimCloudConnectionString");
                userPerm.Domain = CommonConfig.SystemBasicInfo.DomainNames[0];
                System.Data.DataTable dtUser = userPerm.GetUsersList();
                string groupname = this.ddlGroupName.SelectedItem.Text;
                groupname = groupname.Substring(groupname.IndexOf('\')+1);
                userPerm.GroupName = groupname;
                MonthReport MR = new MonthReport(startTime, endTime, "SimCloudConnectionString", userPerm.Domain, groupname, dt, dtUser);
                ReportGroupBasicInfo RGBI = MR.GetGroupBasicInfo();
                System.Data.DataTable dtComputerTimeInfo = MR.GetAllComputerTimeInfo();
                System.Data.DataTable dtAllQueueInfo = MR.GetAllQueueInfo();
                System.Data.DataTable dtAllSystemInfo = MR.GetAllSystemInfo();
                System.Data.DataTable dtAllJobsInfo = MR.GetAllJobsInfo();
                System.Data.DataTable dtUserComputerTimeInfo = MR.GetUserComputerTimeInfo();
                System.Data.DataTable dtUserQueueInfo = MR.GetUserQueueInfo();
                System.Data.DataTable dtUserSystemInfo = MR.GetUserSystemInfo();
                System.Data.DataTable dtAllDailyInfo = MR.GetAllDailyInfo();
                System.Data.DataTable dtAllJobsList = MR.GetAllJobsList();
               
                string message = "";
                try
                {
                    Object Nothing = System.Reflection.Missing.Value;
                    //Directory.CreateDirectory("D:/Report");  //创建文件所在目录
                    PortalUser puUser = (PortalUser)(Session[@"PortalUser"]);
                    string name = "Report_" + DateTime.Now.ToString("yyyyMMddHHmmss") + puUser.UserName + ".doc";//文件名
                    //object filename = "D://Report//" + name;  //文件保存路径
    
                    object filename = Server.MapPath("~/Admin/Temp/" + name + "");
    
                    //创建Word文档
                    Microsoft.Office.Interop.Word.Application WordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
                    Microsoft.Office.Interop.Word.Document WordDoc = WordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);
    
                    WordApp.Selection.ParagraphFormat.LineSpacing = 15f;//设置文档的行间距
    
                    //移动焦点并换行
                    object count = 14;
                    object WdLine = Microsoft.Office.Interop.Word.WdUnits.wdLine;//换一行;
                    WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    WordApp.Selection.TypeParagraph();//插入段落
    
    
                    Microsoft.Office.Interop.Word.Paragraph oPara1;
                    oPara1 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara1.Range.Text = startTime.Year + "" + startTime.Month + "." + startTime.Day + "-" + endTime.Month + "." + endTime.Day + "上海电气中央研究院服务情况小结";
                    oPara1.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
                    oPara1.Range.Font.Bold = 0;//不加粗
                    oPara1.Range.Font.Name = "黑体";
                    oPara1.Range.Font.Size = 16;
                    oPara1.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
    
                    int start1  = (startTime.Year + "" + startTime.Month + "." + startTime.Day + "-" + endTime.Month + "." + endTime.Day).Length+1;
                    int end1 = start1 + 9;
                    object oStart = (object)start1;
                    object oEnd = (object)end1;
                    Microsoft.Office.Interop.Word.Range rBold = WordDoc.Range(ref oStart, ref oEnd);
                    rBold.Font.Underline = Microsoft.Office.Interop.Word.WdUnderline.wdUnderlineSingle;
                    oPara1.Range.InsertParagraphAfter();
    
    
    
    
                    Microsoft.Office.Interop.Word.Paragraph oPara2;
                    oPara1.Range.Font.Underline = Microsoft.Office.Interop.Word.WdUnderline.wdUnderlineNone;
                    oPara2 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara2.Range.Text = DateTime.Now.Year + "" + DateTime.Now.Month + "" + DateTime.Now.Day + "";
                    oPara2.Range.Font.Bold = 0;//不加粗
                    oPara2.Range.Font.Name = "黑体";
                    oPara2.Range.Font.Size = (float)10.5;
                    oPara2.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight;
                    oPara2.Range.InsertParagraphAfter();
    
    
                    Microsoft.Office.Interop.Word.Paragraph oPara3;
                    oPara3 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara3.Range.Text = "1. 用户基本信息";
                    oPara3.Range.Font.Bold = 1;
                    oPara3.Range.Font.Name = "黑体";
                    oPara3.Range.Font.Size = 14;
                    oPara3.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                    oPara3.Range.InsertParagraphAfter();
    
    
                    Microsoft.Office.Interop.Word.Paragraph oPara4;
                    oPara4 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara4.Range.Text = "用户:" + RGBI.UserName;
                    oPara4.Range.Font.Bold = 0;
                    oPara4.Range.Font.Name = "宋体";
                    oPara4.Range.Font.Size = (float)10.5;
                    oPara4.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                    oPara4.Range.InsertParagraphAfter();
    
                    Microsoft.Office.Interop.Word.Paragraph oPara5;
                    oPara5 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara5.Range.Text = "联系人" + RGBI.Linkman;
                    oPara5.Range.Font.Bold = 0;
                    oPara5.Range.Font.Name = "宋体";
                    oPara5.Range.Font.Size = (float)10.5;
                    oPara5.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                    oPara5.Range.InsertParagraphAfter();
    
                    Microsoft.Office.Interop.Word.Paragraph oPara6;
                    oPara6 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara6.Range.Text = "账号有效时间:" + RGBI.Expires;
                    oPara6.Range.Font.Bold = 0;
                    oPara6.Range.Font.Name = "宋体";
                    oPara6.Range.Font.Size = (float)10.5;
                    oPara6.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                    oPara6.Range.InsertParagraphAfter();
    
    
                    Microsoft.Office.Interop.Word.Paragraph oPara7;
                    oPara7 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara7.Range.Text = "账号:" + RGBI.Account;
                    oPara7.Range.Font.Name = "宋体";
                    oPara7.Range.Font.Bold = 0;
                    oPara7.Range.Font.Size = (float)10.5;
                    oPara7.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                    oPara7.Range.InsertParagraphAfter();
    
    
                    Microsoft.Office.Interop.Word.Paragraph oPara8;
                    oPara8 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara8.Range.Text = "可用资源:";
                    oPara8.Range.Font.Name = "宋体";
                    oPara8.Range.Font.Size = (float)10.5;
                    oPara8.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                    oPara8.Range.InsertParagraphAfter();
    
                    WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    WordApp.Selection.TypeParagraph();//插入段落
    
                    CreateTabel1(WordDoc, WordApp, 2, 3, RGBI);//创建表格
    
                    WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    WordApp.Selection.TypeParagraph();//插入段落
    
                    Microsoft.Office.Interop.Word.Paragraph oPara9;
                    oPara9 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara9.Range.Text = "2.总体使用情况(" + startTime.Year + "" + startTime.Month + "." + startTime.Day + "-" + endTime.Month + "." + endTime.Day + "";
                    oPara9.Range.Font.Bold = 1;
                    oPara9.Range.Font.Name = "黑体";
                    oPara9.Range.Font.Size = 14;
                    oPara9.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                    oPara9.Range.InsertParagraphAfter();
    
    
                    Microsoft.Office.Interop.Word.Paragraph oPara10;
                    oPara10 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara10.Range.Text = "机时使用情况";
                    oPara10.Range.Font.Name = "宋体";
                    oPara10.Range.Font.Bold = 0;
                    oPara10.Range.Font.Size = (float)10.5;
                    oPara10.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
                    oPara10.Range.InsertParagraphAfter();
    
                    for (int i = 0; i < 2; i++)
                    {
                        WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    }
    
                    WordApp.Selection.TypeParagraph();//插入段落
    
                    CreateTabel2(WordDoc, WordApp, dtComputerTimeInfo.Rows.Count + 1, 3, dtComputerTimeInfo);//创建表格
    
                    WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    WordApp.Selection.TypeParagraph();//插入段落
    
                    Microsoft.Office.Interop.Word.Paragraph oPara11;
                    oPara11 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara11.Range.Text = "队列使用情况";
                    oPara11.Range.Font.Name = "宋体";
                    oPara11.Range.Font.Bold = 0;
                    oPara11.Range.Font.Size = (float)10.5;
                    oPara11.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
                    oPara11.Range.InsertParagraphAfter();
                    for (int i = 0; i < dtComputerTimeInfo.Rows.Count; i++)
                    {
                        WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    }
                    CreateTabel3(WordDoc, WordApp, dtAllQueueInfo.Rows.Count + 1, 4, dtAllQueueInfo);//创建表格
    
    
                    WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    WordApp.Selection.TypeParagraph();//插入段落
    
                    Microsoft.Office.Interop.Word.Paragraph oPara12;
                    oPara12 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara12.Range.Text = "操作系统情况";
                    oPara12.Range.Font.Name = "宋体";
                    oPara12.Range.Font.Bold = 0;
                    oPara12.Range.Font.Size = (float)10.5;
                    oPara12.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
                    oPara12.Range.InsertParagraphAfter();
                    for (int i = 0; i < dtAllQueueInfo.Rows.Count; i++)
                    {
                        WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    }
                    CreateTabel4(WordDoc, WordApp, dtAllSystemInfo.Rows.Count + 1, 4, dtAllSystemInfo);//创建表格
    
    
                    WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    WordApp.Selection.TypeParagraph();//插入段落
    
                    Microsoft.Office.Interop.Word.Paragraph oPara13;
                    oPara13 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara13.Range.Text = "作业规模情况";
                    oPara13.Range.Font.Name = "宋体";
                    oPara13.Range.Font.Bold = 0;
                    oPara13.Range.Font.Size = (float)10.5;
                    oPara13.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
                    oPara13.Range.InsertParagraphAfter();
                    for (int i = 0; i < dtAllSystemInfo.Rows.Count; i++)
                    {
                        WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    }
                    CreateTabel5(WordDoc, WordApp, dtAllJobsInfo.Rows.Count + 1, 4, dtAllJobsInfo);//创建表格
    
    
    
                    WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    WordApp.Selection.TypeParagraph();//插入段落
    
                    Microsoft.Office.Interop.Word.Paragraph oPara14;
                    oPara14 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara14.Range.Text = "3.个体使用情况";
                    oPara14.Range.Font.Bold = 1;
                    oPara14.Range.Font.Name = "黑体";
                    oPara14.Range.Font.Size = 14;
                    oPara14.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                    oPara14.Range.InsertParagraphAfter();
    
    
                    Microsoft.Office.Interop.Word.Paragraph oPara15;
                    oPara15 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara15.Range.Text = "机时使用情况";
                    oPara15.Range.Font.Name = "宋体";
                    oPara15.Range.Font.Bold = 0;
                    oPara15.Range.Font.Size = (float)10.5;
                    oPara15.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
                    oPara15.Range.InsertParagraphAfter();
                    for (int i = 0; i < dtAllJobsInfo.Rows.Count; i++)
                    {
                        WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    }
                    CreateTabel6(WordDoc, WordApp, dtUserComputerTimeInfo.Rows.Count + 1, 4, dtUserComputerTimeInfo);//创建表格
    
    
                    WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    WordApp.Selection.TypeParagraph();//插入段落
    
                    Microsoft.Office.Interop.Word.Paragraph oPara16;
                    oPara16 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara16.Range.Text = "队列使用情况";
                    oPara16.Range.Font.Name = "宋体";
                    oPara16.Range.Font.Bold = 0;
                    oPara16.Range.Font.Size = (float)10.5;
                    oPara16.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
                    oPara16.Range.InsertParagraphAfter();
    
                    for (int i = 0; i < dtUserComputerTimeInfo.Rows.Count; i++)
                    {
                        WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    }
    
                    CreateTabel7(WordDoc, WordApp, dtUserQueueInfo.Rows.Count + 1, 4, dtUserQueueInfo);//创建表格
    
    
                    WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    WordApp.Selection.TypeParagraph();//插入段落
    
                    Microsoft.Office.Interop.Word.Paragraph oPara17;
                    oPara17 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara17.Range.Text = "操作系统情况";
                    oPara17.Range.Font.Name = "宋体";
                    oPara17.Range.Font.Bold = 0;
                    oPara17.Range.Font.Size = (float)10.5;
                    oPara17.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
                    oPara17.Range.InsertParagraphAfter();
                    WordApp.Selection.TypeParagraph();//插入段落
    
                    for (int i = 0; i < dtUserQueueInfo.Rows.Count; i++)
                    {
                        WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    }
    
                   
                    CreateTabel8(WordDoc, WordApp, dtUserSystemInfo.Rows.Count + 1, 5, dtUserSystemInfo);//创建表格
    
                    WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    WordApp.Selection.TypeParagraph();//插入段落
    
                    Microsoft.Office.Interop.Word.Paragraph oPara18;
                    oPara18 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara18.Range.Text = "4.每日使用情况";
                    oPara18.Range.Font.Bold = 1;
                    oPara18.Range.Font.Name = "黑体";
                    oPara18.Range.Font.Size = 14;
                    oPara18.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                    oPara18.Range.InsertParagraphAfter();
                    WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    WordApp.Selection.TypeParagraph();//插入段落
    
                    Microsoft.Office.Interop.Word.Paragraph oPara27;
                    oPara27 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara27.Range.Text = "";
                    oPara27.Range.Font.Name = "宋体";
                    oPara27.Range.Font.Bold = 0;
                    oPara27.Range.Font.Size = (float)10.5;
                    oPara27.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                    oPara27.Range.InsertParagraphAfter();
                    for (int i = 0; i < dtUserSystemInfo.Rows.Count ; i++)
                    {
                        WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    }
                    CreateTabel9(WordDoc, WordApp, dtAllDailyInfo.Rows.Count + 1, 8, dtAllDailyInfo);//创建表格
    
    
    
                    Microsoft.Office.Interop.Word.Paragraph oPara19;
                    oPara19 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara19.Range.Text = "5.异常情况及排队原因";
                    oPara19.Range.Font.Bold = 1;
                    oPara19.Range.Font.Name = "黑体";
                    oPara19.Range.Font.Size = 14;
                    oPara19.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                    oPara19.Range.InsertParagraphAfter();
                    WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    WordApp.Selection.TypeParagraph();//插入段落
    
                    Microsoft.Office.Interop.Word.Paragraph oPara20;
                    oPara20 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara20.Range.Text = "";
                    oPara20.Range.Font.Name = "宋体";
                    oPara20.Range.Font.Bold = 0;
                    oPara20.Range.Font.Size = (float)10.5;
                    oPara20.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                    oPara20.Range.InsertParagraphAfter();
    
    
                    Microsoft.Office.Interop.Word.Paragraph oPara21;
                    oPara21 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara21.Range.Text = "6.本月使用情况分析";
                    oPara21.Range.Font.Bold = 1;
                    oPara21.Range.Font.Name = "黑体";
                    oPara21.Range.Font.Size = 14;
                    oPara21.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                    oPara21.Range.InsertParagraphAfter();
                    WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
    
                    Microsoft.Office.Interop.Word.Paragraph oPara22;
                    oPara22 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara22.Range.Text = "";
                    oPara22.Range.Font.Name = "宋体";
                    oPara22.Range.Font.Bold = 0;
                    oPara22.Range.Font.Size = (float)10.5;
                    oPara22.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                    oPara22.Range.InsertParagraphAfter();
    
    
                    Microsoft.Office.Interop.Word.Paragraph oPara23;
                    oPara23 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara23.Range.Text = "7.用户服务情况";
                    oPara23.Range.Font.Bold = 1;
                    oPara23.Range.Font.Name = "黑体";
                    oPara23.Range.Font.Size = 14;
                    oPara23.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                    oPara23.Range.InsertParagraphAfter();
                    WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
    
    
                    Microsoft.Office.Interop.Word.Paragraph oPara24;
                    oPara24 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara24.Range.Text = "";
                    oPara24.Range.Font.Name = "宋体";
                    oPara24.Range.Font.Bold = 0;
                    oPara24.Range.Font.Size = (float)10.5;
                    oPara24.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                    oPara24.Range.InsertParagraphAfter();
    
                    Microsoft.Office.Interop.Word.Paragraph oPara25;
                    oPara25 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara25.Range.Text = "8.作业列表";
                    oPara25.Range.Font.Bold = 1;
                    oPara25.Range.Font.Name = "黑体";
                    oPara25.Range.Font.Size = 14;
                    oPara25.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                    oPara25.Range.InsertParagraphAfter();
                    WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
    
                    Microsoft.Office.Interop.Word.Paragraph oPara26;
                    oPara26 = WordDoc.Content.Paragraphs.Add(ref Nothing);
                    oPara26.Range.Text = "";
                    oPara26.Range.Font.Name = "宋体";
                    oPara26.Range.Font.Bold = 0;
                    oPara26.Range.Font.Size = (float)10.5;
                    oPara26.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
                    oPara26.Range.InsertParagraphAfter();
                    for(int i=0;i<dtAllDailyInfo.Rows.Count-1;i++)
                    {
                        WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
                    }
    
                 
                    CreateTabel10(WordDoc, WordApp, dtAllJobsList.Rows.Count + 1, 8, dtAllJobsList);//创建表格
    
                    WordDoc.SaveAs(ref filename, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);
                    WordDoc.Close(ref Nothing, ref Nothing, ref Nothing);
                    WordApp.Quit(ref Nothing, ref Nothing, ref Nothing);
    
    
                    //message = name + "文档生成成功,以保存到D:CNSI下";
                    //Response.Write(message);
    
                    this.HyperLink1.Text = name;
                    this.HyperLink1.NavigateUrl = "~/Admin/Temp/" + name ;
                    this.HyperLink1.Visible = true;
                }
                catch(Exception ex)
                {
                    log.Error(ex.Message);
                    log.Error(ex.StackTrace);
                    message = "文件导出异常!";
                }
                
            }
    
            public void CreateTabel(Document WordDoc, Application WordApp, int rows, int cells, string value)
            {
                Object Nothing = System.Reflection.Missing.Value;
                Microsoft.Office.Interop.Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, rows, cells, ref Nothing, ref Nothing);
                //设置表格
                Color u = Color.FromArgb(79, 129, 189);
    
                newTable.Cell(1, 1).Range.Shading.ForegroundPatternColor = GetColor(u);
                newTable.Cell(1, 2).Range.Shading.ForegroundPatternColor = GetColor(u);
                newTable.Cell(1, 3).Range.Shading.ForegroundPatternColor = GetColor(u);// Microsoft.Office.Interop.Word.WdColor.wdColorTurquoise;//背景颜色
                newTable.Cell(1, 1).Range.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorWhite;//字体颜色
                newTable.Cell(1, 2).Range.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorWhite;//字体颜色
                newTable.Cell(1, 3).Range.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorWhite;//字体颜色
    
                newTable.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
                newTable.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleNone;
                newTable.Columns[1].Width = 120f;
                newTable.Columns[2].Width = 100f;
                newTable.Columns[3].Width = 200f;
    
                newTable.Cell(1, 1).Range.Text = "姓名";
                newTable.Cell(1, 1).Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
                newTable.Cell(1, 2).Range.Text = "磁盘空间";
                newTable.Cell(1, 3).Range.Text = "队列";
                //在表格中增加行
                //WordDoc.Content.Tables[1].Rows.Add(ref Nothing);
                newTable.Cell(2, 1).Range.Text = "SECCAHPC/03010100";
                newTable.Cell(2, 2).Range.Text = "1 TB";
                newTable.Cell(2, 3).Range.Text = "Ansys/CFX/Fluent/Nastran/Abaqus";
    
                newTable.Cell(3, 1).Range.Text = "陈吉";
                newTable.Cell(3, 2).Range.Text = "";
                newTable.Cell(3, 3).Range.Text = "";
    
                newTable.Cell(4, 1).Range.Text = "SECCAHPC/03010101";
                newTable.Cell(4, 2).Range.Text = "1 TB";
                newTable.Cell(4, 3).Range.Text = "Ansys/CFX/Fluent/Nastran/Abaqus";
    
                newTable.Cell(5, 1).Range.Text = "张三";
                newTable.Cell(5, 2).Range.Text = "1 TB";
                newTable.Cell(5, 3).Range.Text = "Ansys/CFX/Fluent/Nastran/Abaqus";
    
    
                newTable.Cell(2, 1).Merge(newTable.Cell(3, 1));
    
    
                newTable.Borders[WdBorderType.wdBorderVertical].LineStyle = WdLineStyle.wdLineStyleNone;
                newTable.Borders[WdBorderType.wdBorderHorizontal].LineStyle = WdLineStyle.wdLineStyleSingle;
                newTable.Borders[WdBorderType.wdBorderLeft].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderRight].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderBottom].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderTop].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderHorizontal].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderVertical].Color = GetColor(u);
    
                newTable.Columns[1].Borders.OutsideLineStyle = WdLineStyle.wdLineStyleSingle;
                newTable.Columns[1].Borders.OutsideColor = GetColor(u);
    
    
    
                //oDoc.Tables[1].Cell(1, 1).Range.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorBlue;//字体颜色
                //newTable.Range.Borders[WdBorderType.wdBorderVertical].LineStyle = WdLineStyle.wdLineStyleNone;
            }
            public void CreateTabel1(Document WordDoc, Application WordApp, int rows, int cells, object value)
            {
                Object Nothing = System.Reflection.Missing.Value;
                Microsoft.Office.Interop.Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, rows, cells, ref Nothing, ref Nothing);
                //设置表格
                Color u = Color.FromArgb(79, 129, 189);
    
                newTable.Rows[1].Range.Shading.ForegroundPatternColor = GetColor(u);
                newTable.Rows[1].Range.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorWhite;
    
                newTable.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
                newTable.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleNone;
                newTable.Columns[1].Width = 120f;
                newTable.Columns[2].Width = 120f;
                newTable.Columns[3].Width = 240f;
    
                newTable.Cell(1, 1).Range.Text = "CPU核数";
                newTable.Cell(1, 2).Range.Text = "磁盘空间";
                newTable.Cell(1, 3).Range.Text = "队列";
    
                newTable.Rows[1].Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
    
    
                ReportGroupBasicInfo a = (ReportGroupBasicInfo)value;
                newTable.Cell(2, 1).Range.Text = a.Cpu.ToString();
                newTable.Cell(2, 2).Range.Text = a.Storage;
                newTable.Cell(2, 3).Range.Text = a.Solvers;
    
                newTable.Cell(2, 1).Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
                newTable.Cell(2, 2).Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
                newTable.Cell(2, 3).Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
    
                newTable.Borders[WdBorderType.wdBorderVertical].LineStyle = WdLineStyle.wdLineStyleNone;
                newTable.Borders[WdBorderType.wdBorderHorizontal].LineStyle = WdLineStyle.wdLineStyleSingle;
                newTable.Borders[WdBorderType.wdBorderLeft].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderRight].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderBottom].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderTop].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderHorizontal].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderVertical].Color = GetColor(u);
            }
    
            public void CreateTabel2(Document WordDoc, Application WordApp, int rows, int cells, object value)
            {
                Object Nothing = System.Reflection.Missing.Value;
                Microsoft.Office.Interop.Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, rows, cells, ref Nothing, ref Nothing);
                //设置表格
                Color u = Color.FromArgb(79, 129, 189);
    
                newTable.Rows[1].Range.Shading.ForegroundPatternColor = GetColor(u);
                newTable.Rows[1].Range.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorWhite;
    
                newTable.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
                newTable.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleNone;
                newTable.Columns[1].Width = 160f;
                newTable.Columns[2].Width = 160f;
                newTable.Columns[3].Width = 160f;
    
                newTable.Cell(1, 1).Range.Text = "用户目录";
                newTable.Cell(1, 2).Range.Text = "运行作业数";
                newTable.Cell(1, 3).Range.Text = "使用机时(CPU小时)";
                newTable.Rows[1].Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
    
                System.Data.DataTable dt = (System.Data.DataTable)value;
                int i = 2;
                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    newTable.Cell(i, 1).Range.Font.Bold = 1;
                    newTable.Cell(i, 1).Range.TwoLinesInOne = Microsoft.Office.Interop.Word.WdTwoLinesInOneType.wdTwoLinesInOneNone;
                    newTable.Cell(i, 1).Range.Text = dr[0].ToString();
                    newTable.Cell(i, 2).Range.Text = dr[1].ToString();
                    newTable.Cell(i, 3).Range.Text = dr[2].ToString();
                    i++;
                }
    
                newTable.Borders[WdBorderType.wdBorderVertical].LineStyle = WdLineStyle.wdLineStyleNone;
                newTable.Borders[WdBorderType.wdBorderHorizontal].LineStyle = WdLineStyle.wdLineStyleSingle;
                newTable.Borders[WdBorderType.wdBorderLeft].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderRight].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderBottom].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderTop].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderHorizontal].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderVertical].Color = GetColor(u);
                newTable.Rows.AllowBreakAcrossPages = 0;
            }
    
            public void CreateTabel3(Document WordDoc, Application WordApp, int rows, int cells, object value)
            {
                Object Nothing = System.Reflection.Missing.Value;
                Microsoft.Office.Interop.Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, rows, cells, ref Nothing, ref Nothing);
                //设置表格
                Color u = Color.FromArgb(79, 129, 189);
    
                newTable.Rows[1].Range.Shading.ForegroundPatternColor = GetColor(u);
                newTable.Rows[1].Range.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorWhite;
                newTable.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
                newTable.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleNone;
                newTable.Columns[1].Width = 120f;
                newTable.Columns[2].Width = 120f;
                newTable.Columns[3].Width = 120f;
                newTable.Columns[4].Width = 120f;
    
                newTable.Cell(1, 1).Range.Text = "队列";
                newTable.Cell(1, 2).Range.Text = "作业数";
                newTable.Cell(1, 3).Range.Text = "机时";
                newTable.Cell(1, 4).Range.Text = "占总机时比例(%)";
                newTable.Rows[1].Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
    
                System.Data.DataTable dt = (System.Data.DataTable)value;
    
                int i = 2;
    
                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    newTable.Cell(i, 1).Range.Font.Bold = 1;
                    newTable.Cell(i, 1).Range.TwoLinesInOne = Microsoft.Office.Interop.Word.WdTwoLinesInOneType.wdTwoLinesInOneNone;
                    newTable.Cell(i, 1).Range.Text = dr[0].ToString();
                    newTable.Cell(i, 2).Range.Text = dr[1].ToString();
                    newTable.Cell(i, 3).Range.Text = dr[2].ToString();
                    newTable.Cell(i, 4).Range.Text = dr[3].ToString();
                    i++;
                }
    
                newTable.Borders[WdBorderType.wdBorderVertical].LineStyle = WdLineStyle.wdLineStyleNone;
                newTable.Borders[WdBorderType.wdBorderHorizontal].LineStyle = WdLineStyle.wdLineStyleSingle;
                newTable.Borders[WdBorderType.wdBorderLeft].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderRight].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderBottom].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderTop].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderHorizontal].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderVertical].Color = GetColor(u);
                newTable.Rows.AllowBreakAcrossPages = 0;
            }
    
            public void CreateTabel4(Document WordDoc, Application WordApp, int rows, int cells, object value)
            {
                Object Nothing = System.Reflection.Missing.Value;
                Microsoft.Office.Interop.Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, rows, cells, ref Nothing, ref Nothing);
                //设置表格
                Color u = Color.FromArgb(79, 129, 189);
    
                newTable.Rows[1].Range.Shading.ForegroundPatternColor = GetColor(u);
                newTable.Rows[1].Range.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorWhite;
                newTable.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
                newTable.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleNone;
                newTable.Columns[1].Width = 120f;
                newTable.Columns[2].Width = 120f;
                newTable.Columns[3].Width = 120f;
                newTable.Columns[4].Width = 120f;
    
                newTable.Cell(1, 1).Range.Text = "系统";
                newTable.Cell(1, 2).Range.Text = "作业数";
                newTable.Cell(1, 3).Range.Text = "机时";
                newTable.Cell(1, 4).Range.Text = "占总机时比例(%)";
                newTable.Rows[1].Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
    
                System.Data.DataTable dt = (System.Data.DataTable)value;
                int i = 2;
                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    newTable.Cell(i, 1).Range.Font.Bold = 1;
                    newTable.Cell(i, 1).Range.TwoLinesInOne = Microsoft.Office.Interop.Word.WdTwoLinesInOneType.wdTwoLinesInOneNone;
                    newTable.Cell(i, 1).Range.Text = dr[0].ToString();
                    newTable.Cell(i, 2).Range.Text = dr[1].ToString();
                    newTable.Cell(i, 3).Range.Text = dr[2].ToString();
                    newTable.Cell(i, 4).Range.Text = dr[3].ToString();
                    i++;
                }
    
                newTable.Borders[WdBorderType.wdBorderVertical].LineStyle = WdLineStyle.wdLineStyleNone;
                newTable.Borders[WdBorderType.wdBorderHorizontal].LineStyle = WdLineStyle.wdLineStyleSingle;
                newTable.Borders[WdBorderType.wdBorderLeft].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderRight].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderBottom].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderTop].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderHorizontal].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderVertical].Color = GetColor(u);
                newTable.Rows.AllowBreakAcrossPages = 0;
            }
    
            public void CreateTabel5(Document WordDoc, Application WordApp, int rows, int cells, object value)
            {
                Object Nothing = System.Reflection.Missing.Value;
                Microsoft.Office.Interop.Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, rows, cells, ref Nothing, ref Nothing);
                //设置表格
                Color u = Color.FromArgb(79, 129, 189);
    
                newTable.Rows[1].Range.Shading.ForegroundPatternColor = GetColor(u);
                newTable.Rows[1].Range.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorWhite;
                newTable.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
                newTable.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleNone;
                newTable.Columns[1].Width = 120f;
                newTable.Columns[2].Width = 120f;
                newTable.Columns[3].Width = 120f;
                newTable.Columns[4].Width = 120f;
    
                newTable.Cell(1, 1).Range.Text = "核心数";
                newTable.Cell(1, 2).Range.Text = "作业数";
                newTable.Cell(1, 3).Range.Text = "机时";
                newTable.Cell(1, 4).Range.Text = "占总机时比例(%)";
                newTable.Rows[1].Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
    
                System.Data.DataTable dt = (System.Data.DataTable)value;
                int i = 2;
                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    newTable.Cell(i, 1).Range.Font.Bold = 1;
                    newTable.Cell(i, 1).Range.TwoLinesInOne = Microsoft.Office.Interop.Word.WdTwoLinesInOneType.wdTwoLinesInOneNone;
                    newTable.Cell(i, 1).Range.Text = dr[0].ToString();
                    newTable.Cell(i, 2).Range.Text = dr[1].ToString();
                    newTable.Cell(i, 3).Range.Text = dr[2].ToString();
                    newTable.Cell(i, 4).Range.Text = dr[3].ToString();
                    i++;
                }
    
                newTable.Borders[WdBorderType.wdBorderVertical].LineStyle = WdLineStyle.wdLineStyleNone;
                newTable.Borders[WdBorderType.wdBorderHorizontal].LineStyle = WdLineStyle.wdLineStyleSingle;
                newTable.Borders[WdBorderType.wdBorderLeft].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderRight].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderBottom].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderTop].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderHorizontal].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderVertical].Color = GetColor(u);
                newTable.Rows.AllowBreakAcrossPages = 0;
            }
    
            public void CreateTabel6(Document WordDoc, Application WordApp, int rows, int cells, object value)
            {
                Object Nothing = System.Reflection.Missing.Value;
                Microsoft.Office.Interop.Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, rows, cells, ref Nothing, ref Nothing);
                //设置表格
                Color u = Color.FromArgb(79, 129, 189);
    
                newTable.Rows[1].Range.Shading.ForegroundPatternColor = GetColor(u);
                newTable.Rows[1].Range.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorWhite;
                newTable.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
                newTable.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleNone;
                newTable.Columns[1].Width = 150f;
                newTable.Columns[2].Width = 110f;
                newTable.Columns[3].Width = 110f;
                newTable.Columns[4].Width = 110f;
    
                newTable.Cell(1, 1).Range.Text = "用户目录";
                newTable.Cell(1, 2).Range.Text = "姓名";
                newTable.Cell(1, 3).Range.Text = "运行作业数";
                newTable.Cell(1, 4).Range.Text = "使用机时(CPU小时)";
                newTable.Rows[1].Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
    
                System.Data.DataTable dt = (System.Data.DataTable)value;
    
                int i = 2;
                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    newTable.Cell(i, 1).Range.Font.Bold = 1;
                    newTable.Cell(i, 1).Range.TwoLinesInOne = Microsoft.Office.Interop.Word.WdTwoLinesInOneType.wdTwoLinesInOneNone;
                    newTable.Cell(i, 1).Range.Text = dr[0].ToString();
                    newTable.Cell(i, 2).Range.Text = dr[1].ToString();
                    newTable.Cell(i, 3).Range.Text = dr[2].ToString();
                    newTable.Cell(i, 4).Range.Text = dr[3].ToString();
                    i++;
                }
    
                newTable.Borders[WdBorderType.wdBorderVertical].LineStyle = WdLineStyle.wdLineStyleNone;
                newTable.Borders[WdBorderType.wdBorderHorizontal].LineStyle = WdLineStyle.wdLineStyleSingle;
                newTable.Borders[WdBorderType.wdBorderLeft].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderRight].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderBottom].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderTop].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderHorizontal].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderVertical].Color = GetColor(u);
                newTable.Rows.AllowBreakAcrossPages = 0;
            }
    
            public void CreateTabel7(Document WordDoc, Application WordApp, int rows, int cells, object value)
            {
                List<int> Merge=new List<int>();
                Object Nothing = System.Reflection.Missing.Value;
                Microsoft.Office.Interop.Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, rows, cells, ref Nothing, ref Nothing);
                //设置表格
                Color u = Color.FromArgb(79, 129, 189);
    
                newTable.Rows[1].Range.Shading.ForegroundPatternColor = GetColor(u);
                newTable.Rows[1].Range.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorWhite;
                newTable.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
                newTable.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleNone;
                newTable.Columns[1].Width = 150f;
                newTable.Columns[2].Width = 110f;
                newTable.Columns[3].Width = 110f;
                newTable.Columns[4].Width = 110f;
    
                newTable.Cell(1, 1).Range.Text = "姓名";
                newTable.Cell(1, 2).Range.Text = "队列";
                newTable.Cell(1, 3).Range.Text = "作业数";
                newTable.Cell(1, 4).Range.Text = "机时";
                newTable.Rows[1].Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
    
                System.Data.DataTable dt = (System.Data.DataTable)value;
    
                int i = 2;
                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    newTable.Cell(i, 1).Range.Font.Bold = 1;
                    newTable.Cell(i, 1).Range.TwoLinesInOne = Microsoft.Office.Interop.Word.WdTwoLinesInOneType.wdTwoLinesInOneNone;
                    newTable.Cell(i, 1).Range.Text = dr[0].ToString();
                    newTable.Cell(i, 2).Range.Text = dr[1].ToString();
                    newTable.Cell(i, 3).Range.Text = dr[2].ToString();
                    newTable.Cell(i, 4).Range.Text = dr[3].ToString();
                    i++;
                }
    
                int j = 2;
                int d = 0;
                for (int k = 0; k < dt.Rows.Count - 1; k++)
                {
                    if (dt.Rows[k][0].ToString() == dt.Rows[k + 1][0].ToString())
                    {
                        if (d == 0)
                        {
                            string name = newTable.Cell(j, 1).Range.Text;
                            newTable.Cell(j, 1).Merge(newTable.Cell(j + 1, 1));
                            d = j;
                            newTable.Cell(j, 1).Range.Text = name;
                        }
                        else
                        {
                            string name = newTable.Cell(d, 1).Range.Text;
                            newTable.Cell(d, 1).Merge(newTable.Cell(j + 1, 1));
                            newTable.Cell(d, 1).Range.Text = name;
                        }
                    }
                    else
                    {
                        d = 0;
                    }
                    j++;
                }
    
                newTable.Borders[WdBorderType.wdBorderVertical].LineStyle = WdLineStyle.wdLineStyleNone;
                newTable.Borders[WdBorderType.wdBorderHorizontal].LineStyle = WdLineStyle.wdLineStyleSingle;
                newTable.Borders[WdBorderType.wdBorderLeft].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderRight].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderBottom].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderTop].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderHorizontal].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderVertical].Color = GetColor(u);
    
                newTable.Columns[1].Borders.OutsideLineStyle = WdLineStyle.wdLineStyleSingle;
                newTable.Columns[1].Borders.OutsideColor = GetColor(u);
                newTable.Rows.AllowBreakAcrossPages = 0;
    
    
            }
    
            public void CreateTabel8(Document WordDoc, Application WordApp, int rows, int cells, object value)
            {
                
                Object Nothing = System.Reflection.Missing.Value;
                Microsoft.Office.Interop.Word.Table newTable1 = WordDoc.Tables.Add(WordApp.Selection.Range, rows, cells, ref Nothing, ref Nothing);
                //设置表格
                Color u = Color.FromArgb(79, 129, 189);
    
                newTable1.Rows[1].Range.Shading.ForegroundPatternColor = GetColor(u);
                newTable1.Rows[1].Range.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorWhite;
                newTable1.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
                newTable1.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleNone;
                newTable1.Columns[1].Width = 114f;
                newTable1.Columns[2].Width = 90f;
                newTable1.Columns[3].Width = 90f;
                newTable1.Columns[4].Width = 90f;
                newTable1.Columns[5].Width = 96f;
    
                newTable1.Cell(1, 1).Range.Text = "姓名";
                newTable1.Cell(1, 2).Range.Text = "系统";
                newTable1.Cell(1, 3).Range.Text = "作业数";
                newTable1.Cell(1, 4).Range.Text = "机时";
                newTable1.Cell(1, 5).Range.Text = "占总机时比例(%)";
                newTable1.Rows[1].Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
              
                System.Data.DataTable dt = (System.Data.DataTable)value;
                int i = 2;
                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    newTable1.Cell(i, 1).Range.Font.Bold = 1;
                    newTable1.Cell(i, 1).Range.TwoLinesInOne = Microsoft.Office.Interop.Word.WdTwoLinesInOneType.wdTwoLinesInOneNone;
                    newTable1.Cell(i, 1).Range.Text = dr[0].ToString();
                    newTable1.Cell(i, 2).Range.Text = dr[1].ToString();
                    newTable1.Cell(i, 3).Range.Text = dr[2].ToString();
                    newTable1.Cell(i, 4).Range.Text = dr[3].ToString();
                    newTable1.Cell(i, 5).Range.Text = dr[4].ToString();
                    i++;
                }
    
    
                int j = 2;
                int d = 0;
                for (int k = 0; k < dt.Rows.Count - 1; k++)
                {
                    if (dt.Rows[k][0].ToString() == dt.Rows[k + 1][0].ToString())
                    {
                        if (d == 0)
                        {
                            string name = newTable1.Cell(j, 1).Range.Text;
                            newTable1.Cell(j, 1).Merge(newTable1.Cell(j + 1, 1));
                            d = j;
                            newTable1.Cell(j, 1).Range.Text = name;
                        }
                        else
                        {
                            string name = newTable1.Cell(d, 1).Range.Text;
                            newTable1.Cell(d, 1).Merge(newTable1.Cell(j + 1, 1));
                            newTable1.Cell(d, 1).Range.Text = name;
                        }
                    }
                    else
                    {
                        d = 0;
                    }
                    j++;
                }
    
                newTable1.Borders[WdBorderType.wdBorderVertical].LineStyle = WdLineStyle.wdLineStyleNone;
                newTable1.Borders[WdBorderType.wdBorderHorizontal].LineStyle = WdLineStyle.wdLineStyleSingle;
                newTable1.Borders[WdBorderType.wdBorderLeft].Color = GetColor(u);
                newTable1.Borders[WdBorderType.wdBorderRight].Color = GetColor(u);
                newTable1.Borders[WdBorderType.wdBorderBottom].Color = GetColor(u);
                newTable1.Borders[WdBorderType.wdBorderTop].Color = GetColor(u);
                newTable1.Borders[WdBorderType.wdBorderHorizontal].Color = GetColor(u);
                newTable1.Borders[WdBorderType.wdBorderVertical].Color = GetColor(u);
                newTable1.Columns[1].Borders.OutsideLineStyle = WdLineStyle.wdLineStyleSingle;
                newTable1.Columns[1].Borders.OutsideColor = GetColor(u);
                newTable1.Rows.AllowBreakAcrossPages = 0;
    
    
            }
    
            public void CreateTabel9(Document WordDoc, Application WordApp, int rows, int cells, object value)
            {
                Object Nothing = System.Reflection.Missing.Value;
                Microsoft.Office.Interop.Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, rows, cells, ref Nothing, ref Nothing);
                //设置表格
                Color u = Color.FromArgb(79, 129, 189);
    
                newTable.Rows[1].Range.Shading.ForegroundPatternColor = GetColor(u);
                newTable.Rows[1].Range.Font.Name = "宋体";
                newTable.Rows[1].Range.Font.Size = 11f;
                newTable.Rows[1].Range.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorWhite;
               
                newTable.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
                newTable.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleNone;
                newTable.Columns[1].Width = 65f;
                newTable.Columns[2].Width = 60f;
                newTable.Columns[3].Width = 60f;
                newTable.Columns[4].Width = 60f;
                newTable.Columns[5].Width = 60f;
                newTable.Columns[6].Width = 60f;
                newTable.Columns[7].Width = 55f;
                newTable.Columns[8].Width = 60f;
    
                newTable.Cell(1, 1).Range.Text = "日期";
                newTable.Cell(1, 2).Range.Text = "提交作业";
                newTable.Cell(1, 3).Range.Text = "完成作业";
                newTable.Cell(1, 4).Range.Text = "取消作业";
                newTable.Cell(1, 5).Range.Text="最大运行核数";
                newTable.Cell(1, 6).Range.Text = "最大排队核数";
                newTable.Cell(1, 7).Range.Text = "机时";
                newTable.Cell(1, 8).Range.Text = "队列";
                newTable.Rows[1].Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
               
                System.Data.DataTable dt = (System.Data.DataTable)value;
    
                int i = 2;
                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    newTable.Cell(i, 1).Range.Font.Bold = 1;
                    newTable.Cell(i, 1).Range.TwoLinesInOne = Microsoft.Office.Interop.Word.WdTwoLinesInOneType.wdTwoLinesInOneNone;
                    newTable.Cell(i, 1).Range.Text = dr[0].ToString();
                    newTable.Cell(i, 2).Range.Text = dr[1].ToString();
                    newTable.Cell(i, 3).Range.Text = dr[2].ToString();
                    newTable.Cell(i, 4).Range.Text = dr[3].ToString();
                    newTable.Cell(i, 5).Range.Text = dr[4].ToString();
                    newTable.Cell(i, 6).Range.Text = dr[5].ToString();
                    newTable.Cell(i, 7).Range.Text = dr[6].ToString(); 
                    newTable.Cell(i, 8).Range.Text = dr[7].ToString();
    
                    i++;
                }
    
                newTable.Borders[WdBorderType.wdBorderVertical].LineStyle = WdLineStyle.wdLineStyleNone;
                newTable.Borders[WdBorderType.wdBorderHorizontal].LineStyle = WdLineStyle.wdLineStyleSingle;
                newTable.Borders[WdBorderType.wdBorderLeft].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderRight].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderBottom].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderTop].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderHorizontal].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderVertical].Color = GetColor(u);
                newTable.Rows.AllowBreakAcrossPages = 0;
            }
    
            public void CreateTabel10(Document WordDoc, Application WordApp, int rows, int cells, object value)
            {
                Object Nothing = System.Reflection.Missing.Value;
                Microsoft.Office.Interop.Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, rows, cells, ref Nothing, ref Nothing);
                //设置表格
                Color u = Color.FromArgb(79, 129, 189);
    
                newTable.Rows[1].Range.Shading.ForegroundPatternColor = GetColor(u);
                newTable.Rows[1].Range.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorWhite;
    
                newTable.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
                newTable.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleNone;
                newTable.Columns[1].Width = 40f;
                newTable.Columns[2].Width = 40f;
                newTable.Columns[3].Width = 40f;
                newTable.Columns[4].Width = 60f;
                newTable.Columns[5].Width = 60f;
                newTable.Columns[6].Width = 60f;
                newTable.Columns[7].Width = 60f;
                newTable.Columns[8].Width = 120f;
    
                newTable.Cell(1, 1).Range.Text = "JobID";
                newTable.Cell(1, 2).Range.Text = "CPU核数";
                newTable.Cell(1, 3).Range.Text = "统计机时";
                newTable.Cell(1, 4).Range.Text = "队列";
                newTable.Cell(1, 5).Range.Text = "提交时刻";
                newTable.Cell(1, 6).Range.Text = "运行时刻";
                newTable.Cell(1, 7).Range.Text = "结束时刻";
                newTable.Cell(1, 8).Range.Text = "作业目录";
                newTable.Rows[1].Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
                System.Data.DataTable dt = (System.Data.DataTable)value;
    
                int i = 2;
    
                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    newTable.Cell(i, 1).Range.Font.Bold = 1;
                    newTable.Cell(i, 1).Range.TwoLinesInOne = Microsoft.Office.Interop.Word.WdTwoLinesInOneType.wdTwoLinesInOneNone;
                    newTable.Cell(i, 1).Range.Text = dr[0].ToString();
                    newTable.Cell(i, 2).Range.Text = dr[1].ToString();
                    newTable.Cell(i, 3).Range.Text = dr[2].ToString();
                    newTable.Cell(i, 4).Range.Text = dr[3].ToString();
                    newTable.Cell(i, 5).Range.Text = dr[4].ToString();
                    newTable.Cell(i, 6).Range.Text = dr[5].ToString();
                    newTable.Cell(i, 7).Range.Text = dr[6].ToString();
                    newTable.Cell(i, 8).Range.Text = dr[7].ToString();
    
                    i++;
                }
    
                newTable.Borders[WdBorderType.wdBorderVertical].LineStyle = WdLineStyle.wdLineStyleNone;
                newTable.Borders[WdBorderType.wdBorderHorizontal].LineStyle = WdLineStyle.wdLineStyleSingle;
                newTable.Borders[WdBorderType.wdBorderLeft].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderRight].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderBottom].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderTop].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderHorizontal].Color = GetColor(u);
                newTable.Borders[WdBorderType.wdBorderVertical].Color = GetColor(u);
                newTable.Rows.AllowBreakAcrossPages = 0;
            }
    
            public static void WriteError(string data)
            {
                try
                {
                    string sPath = "C:\Log";
                    if (sPath == null || sPath == "")
                    {
                        return;
                    }
                    sPath = sPath.TrimEnd('\');
    
                    if (!Directory.Exists(sPath))
                    {
                        Directory.CreateDirectory(sPath);
                    }
                    data = string.Format("
     {0}  ", data + DateTime.Now.ToString());
                    byte[] bytes = UTF8Encoding.UTF8.GetBytes(data);
                    int length = bytes.Length;
                    string logfile = Path.Combine(sPath, DateTime.Now.ToString("yyyyMMdd") + ".log");
                    FileStream w = null;
                    if (!File.Exists(logfile))
                    {
                        using (w = File.Create(logfile)) { }
                    }
                    try
                    {
                        w = File.Open(logfile, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite);
                        w.Position = w.Length;
                        w.Write(bytes, 0, length);
                    }
                    finally
                    {
                        if (w != null)
                        {
                            w.Close();
                        }
                    }
    
                }
                catch
                {
                }
            }
    
            WdColor GetColor(Color c)
            {
                UInt32 R = 0x1, G = 0x100, B = 0x10000;
                return (Microsoft.Office.Interop.Word.WdColor)(R * c.R + G * c.G + B * c.B);
            }
    
            public void GetAllGroup()
            {
    
                GroupPermission GP = new GroupPermission("SimCloudConnectionString");
                this.ddlGroupName.DataSource = GP.GetAllGroups(null);
                this.ddlGroupName.DataBind();
            }
    
            /// <summary>
            /// intialize the page culture
            /// </summary>
            protected override void InitializeCulture()
            {
                if (this.Session["SimCloud_UserCulture"] != null)
                {
                    Page.Culture = Session["SimCloud_UserCulture"].ToString();
                    Page.UICulture = Session["SimCloud_UserCulture"].ToString();
                    System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(Session["SimCloud_UserCulture"].ToString());
                    System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(Session["SimCloud_UserCulture"].ToString());
                }
    
                base.InitializeCulture();
            }
    
            public void exportFile(string fileName)
            {
                string filePath = Server.MapPath("Temp/"+fileName+"");//路径
                FileInfo fileInfo = new FileInfo(filePath);
                Response.Clear();
                Response.ClearContent();
                Response.ClearHeaders();
                Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
                Response.AddHeader("Content-Length", fileInfo.Length.ToString());
                Response.AddHeader("Content-Transfer-Encoding", "binary");
                Response.ContentType = "application/octet-stream";
                Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
                Response.WriteFile(fileInfo.FullName);
                Response.Flush();
                Response.End();
            }
    
    
    
        }
    }

    解决服务器端不能自动生成Word文件问题,因为已经安装word,则需要配置DCOM: (1.在CMD中运行mmc -32 2.File>Add/Remove Snap-in 3.add "Component Services) 1.在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务" 2:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置" 3:在"DCOM配置"中找到"Microsoft Word 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Word 应用程序属性"对话框 4:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限. 5:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK? SERVICE"用户,然后赋予"本地访问"权限. 6.点击"标识"标签,选择"交互式用户

    C# word AllowBreakAcrossPages

  • 相关阅读:
    Atitit orm 之道 艾龙著 1. 一、ORM的由来 1 2. ORM的组成:      2 3.  常见的ORM框架:      3 4. 、ORM与数据持久化的关系 3 5. Atitit
    Atitit 移动互联网 产业维度 1. 移动互联网带来的模式变革  1 2. 从视窗到“苹果与机器人”,软件发展模式的颠覆  2 3. 第3章 从X86到ARM,蚂蚁绊倒了大象  2 4. 第5
    Atitit 装备工具分类 attilax总结 艾龙著 工具链体系 武器与软件行业工具也是很近似的的。 1. 分类思维 1 1.1. 总分类:冷、热 1 1.2. 轻、重、大规模杀伤性 1
    Atitit 区块链之道 attilax著 艾龙著 1. 金融=制度+技术+信息 1 2. 第一章可信的协议 1 3. 第二章引导未来:区块链经济七大设计原则 1 4. 第五章 新商业
    Atitit 几大研发体系对比 StageGate体系 PACE与IPD体系 敏捷开发体系 CMMI体系 艾龙 著 1. 3. 1.5:业界领先的研发管理体系简介 2 1 2. 《产品及生命周期
    Atitit 传感器之道 1. 视觉传感器 摄像头 1 1.1. 一、光线传感器: 1 1.2. 二、距离传感器: 1 1.3.    第一种是震动传感器。 4 1.4.   第二种是声响传感
    Atitit 架构之道 之 可读性可维护性架构之道 提升效率架构之道 attilax著 艾龙 著 1.1. Hybrid架构 1 1.2. 分层架构是使用最多的架构模式 Layers模式 也称Tie
    Atitit cko之道首席知识官之道 attilax著 艾龙著 1. 2 2. 第 1 章 知识管理到底是什么,有什么用/1 2 3. 1.1 知识管理全景/1 1.2 波士顿矩阵/3 1.2.
    Atitit 提升效率 降低技术难度与提升技术矛盾的解决方案 1. 问题 2 1.1. 高手喜欢技术挑战怎么办,但会提升技术难度 导致新手不会用怎么办 2 2. 解决方案 2 2.1. 通过开会统
    Atitit 依赖管理之道 1. 概念 依赖管理,是指在什么地方以什么形式引入外部代码。 1 1.1.1. 理解模块化和依赖管理: 1 1.2. 依赖管理,有三个层面。 单一职责原则,协议对象引用,
  • 原文地址:https://www.cnblogs.com/ahghy/p/3532499.html
Copyright © 2011-2022 走看看