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文件,请联系管理员!"); } } } /// /// 文档变化后,实现对新文件名称的显示 /// 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() + "】"; } } /// /// 保存 /// /// /// private void btnSave_Click(object sender, EventArgs e) { var list = new List(); 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(); } /// /// 从数据库里读取到Excel /// /// /// 位置格式如A1 B2 /// 值 /// 是否加粗 private void SetCellText(Worksheet workSheet, string coordinates, string coordValue, bool isBold) { workSheet.Cells[coordinates].Value = coordValue; workSheet.Cells[coordinates].Style.Font.Bold = isBold; } /// /// 选择后的回调事件 /// public event EventHandler UpdateParent; } }