/// <summary> /// 载入外部Excel数据 /// </summary> /// <param name="path"></param> /// <returns></returns> public override List <ReadResult> LoadExcelData(string path) { DateTime startTime = DateTime.Now; string[] files = Directory.GetFiles(path); ConcurrentQueue <ReadResult> resultList = new ConcurrentQueue <ReadResult>(); Parallel.ForEach(files, (file) => { SpreadsheetControl spreadSheet = new SpreadsheetControl(); spreadSheet.AllowDrop = false; IWorkbook workbook = spreadSheet.Document; workbook.LoadDocument(file); Worksheet worksheet = workbook.Worksheets[0]; string fileName = Path.GetFileNameWithoutExtension(file); Filltable_测试结果(workbook.Worksheets[0], fileName, resultList); spreadSheet.Dispose(); }); DateTime endTime = DateTime.Now; TimeSpan totalTime = endTime - startTime; double time = totalTime.TotalSeconds; ViewModuleManager.ModuleOf数据管理.richTextBox_消息栏.AppendText("已导入数据:" + resultList.Count + "条" + "\n"); ViewModuleManager.ModuleOf数据管理.richTextBox_消息栏.AppendText("共耗时:" + time + "秒" + "\n"); return(resultList.ToList()); }
//带参数的初始化 public void controlInit(SpreadsheetControl spreadsheetMain, Dictionary <String, SimpleButton> buttons, Dictionary <String, Label> labels, String path, Dictionary <String, PopupMenu> menus, BarManager barmanager, XtraForm form, AlertControl alert, XSheetUser user) { this.buttons = buttons; this.labels = labels; this.spreadsheetMain = spreadsheetMain; this.menus = menus; this.rightClickBarManager = barmanager; AlertUtil.setAlert(alert, form); this.user = user; this.form = form; this.alert = alert; //CELLCHANGE executer = new CommandExecuter(user); executer.Attach(this); executeState = "OK"; /*加载文档,后续根据不同设置配置,待修改TODO*/ try { DateTime date = new DateTime(); StreamWriter sw = new StreamWriter(@"ConsoleOutput.txt", true); date = DateTime.Now; sw.WriteLine("beforeLoadDoc:" + date.ToString()); if (path.Length > 0) { spreadsheetMain.Document.LoadDocument(path); } sw.Flush(); sw.Close(); } catch (Exception e) { MessageBox.Show(e.ToString()); spreadsheetMain.Dispose(); } }
private void Form1_Load(object sender, EventArgs e) { SpreadsheetControl spreadsheetControl = new SpreadsheetControl(); string path = Path.Combine(Application.StartupPath, "견적내역서_입력폼.xlsx"); spreadsheetControl.LoadDocument(path); spreadsheetControl.BeginUpdate(); IWorkbook workbook = spreadsheetControl.Document; string sheetName = $"Test_Test"; Worksheet worksheet = workbook.Worksheets["Sample"]; spreadsheetControl.SaveDocument(); workbook.Worksheets[sheetName].CopyFrom(worksheet); //workbook.Worksheets.Add(); spreadsheetControl.SaveDocument(); spreadsheetControl.EndUpdate(); spreadsheetControl.Dispose(); }