bug
lu
2025-08-30 51e2e408fd48c6454334a90c5dff0e5d0960da0c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
using CefSharp.DevTools.Debugger;
using DevExpress.Spreadsheet;
using DevExpress.XtraEditors;
using Gs.DevApp.ToolBox;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace Gs.DevApp.UserControl
{
    public partial class CopyXls : DevExpress.XtraEditors.XtraForm
    {
        private string orderType;
        private string orderGuid;
        private string orgId;
        private static readonly string filePath = AppContext.BaseDirectory + "xlsCopy.xls";
 
        public CopyXls(string orgId, string _orderGuid, string _orderType, string _orgId)
        {
            InitializeComponent();
            this.orderType = _orderType;
            this.orderGuid = _orderGuid;
            this.orgId = _orgId;
            this.spreadsheetControl1.DocumentLoaded += new EventHandler(spreadsheetControl1_DocumentLoaded);
            if (!string.IsNullOrEmpty(filePath))
            {
                if (File.Exists(filePath))
                {
                    IWorkbook workbook = spreadsheetControl1.Document;
                    workbook.LoadDocument(filePath);
                    SetCellText(spreadsheetControl1.ActiveWorksheet, "A1", "物料编号", true);
                    SetCellText(spreadsheetControl1.ActiveWorksheet, "B1", "申请数量", true);
                    SetCellText(spreadsheetControl1.ActiveWorksheet, "C1", "申请备注", true);
                    SetCellText(spreadsheetControl1.ActiveWorksheet, "D1", "不良类型", true);
                }
                else
                {
                    Gs.DevApp.ToolBox.MsgHelper.ShowError("找不到xlsCopy.xls文件,请联系管理员!");
                }
            }
        }
 
        /// <summary>
        /// 文档变化后,实现对新文件名称的显示
        /// </summary>
        void spreadsheetControl1_DocumentLoaded(object sender, EventArgs e)
        {
            string fileName = Path.GetFileName(this.spreadsheetControl1.Document.Path);
            if (String.IsNullOrEmpty(fileName))
            {
                Text = "请选择文件";
            }
            else
            {
                //Text = "正在从【" + fileName + "】复制到【" + this.orderType.ToString()+"】";
                Text = "正在快捷录入到【" + this.orderType.ToString() + "】,组织ID为【" + this.orgId.ToString() + "】";
            }
        }
 
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSave_Click(object sender, EventArgs e)
        {
            var list = new List<dynamic>();
            for (int row = 2; row <= spreadsheetControl1.ActiveWorksheet.GetUsedRange().RowCount; row++)
            {
                string itemNo = spreadsheetControl1.ActiveWorksheet.Cells["A1"].Value.ToString();
                string sl = spreadsheetControl1.ActiveWorksheet.Cells["B1"].Value.ToString();
                string bz = spreadsheetControl1.ActiveWorksheet.Cells["C1"].Value.ToString();
                string bllx = spreadsheetControl1.ActiveWorksheet.Cells["D1"].Value.ToString();
                list.Add(new
                {
                    itemNo = itemNo,
                    sl = sl,
                    bz = bz,
                    bllx = bllx,
                });
            }
            UpdateParent?.Invoke(this,
                new UpdateParentEventArgs { DynamicList = list });
            Close();
        }
 
        /// <summary>
        /// 从数据库里读取到Excel
        /// </summary>
        /// <param name="workSheet"></param>
        /// <param name="coordinates">位置格式如A1 B2</param>
        /// <param name="coordValue">值</param>
        /// <param name="isBold">是否加粗</param>
        private void SetCellText(Worksheet workSheet, string coordinates, string coordValue, bool isBold)
        {
            workSheet.Cells[coordinates].Value = coordValue;
            workSheet.Cells[coordinates].Style.Font.Bold = isBold;
        }
 
        /// <summary>
        /// 选择后的回调事件
        /// </summary>
        public event EventHandler<UpdateParentEventArgs> UpdateParent;
 
    }
}