lk
2022-10-26 388b592e45762d7835fd6311cd67dc43856d0cc0
优化了模板使分数对应20221026LK
1个文件已修改
61 ■■■■■ 已修改文件
Libs/MojoCube.Api/File/WordHelper.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Libs/MojoCube.Api/File/WordHelper.cs
@@ -57,6 +57,67 @@
        }
        public void GenerateInfos(System.Data.DataTable dt, string bookMark, ref WordHelper wordHelper)
        {
            string[] Titles = new string[dt.Columns.Count];
            string strInfos = "";
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    if ((j == 2) && dt.Rows[i][j].ToString() != "") //插入图片
                    {
                        strInfos += Titles[j] + ":\r\n";
                        string[] strImgs = dt.Rows[i][j].ToString().Split(new char[] { ',' });
                        for (int m = 0; m < strImgs.Length; m++)
                        {
                            strInfos += "bookMark" + i + j + m;
                        }
                        strInfos += "\r\n";
                    }
                    else
                    {
                        strInfos += Titles[j] == "" ? dt.Rows[i][j].ToString() + "\r\n" : Titles[j] + ":\r\n" + dt.Rows[i][j].ToString() + "\r\n";
                    }
                }
                strInfos += "\r\n";
            }
            wordHelper.InsertText(bookMark, strInfos);
            //插入图片
            int iNo = 1;
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    if ((j == 2) && dt.Rows[i][j].ToString() != "") //插入图片
                    {
                        string[] strImgs = dt.Rows[i][j].ToString().Split(new char[] { ',' });
                        for (int m = 0; m < strImgs.Length; m++)
                        {
                            if (!System.IO.File.Exists(System.Web.HttpContext.Current.Server.MapPath(strImgs[m]))) continue;
                            BookMark bookmarkItem = new BookMark();
                            bookmarkItem.Name = "bookMark" + i + j + m;
                            Range range = FindFirst(wordDoc.Range(), bookmarkItem.Name);
                            bookmarkItem.Range = range;
                            wordHelper.InsertBookMark(bookmarkItem);
                            wordHelper.InsertPicture(range, HttpContext.Current.Server.MapPath(strImgs[m]), 260, 195, iNo++);
                            Range rangeTmp = FindFirst(wordDoc.Range(), bookmarkItem.Name);
                            if (rangeTmp != null)
                            {
                                rangeTmp.Select();
                                wordApp.Selection.Delete();
                            }
                        }
                    }
                }
            }
        }
        public Range FindFirst(Range range, string findText)
        {
            int start = range.Start;