From 54f0329172de152cf95644f6d427971542e9f42c Mon Sep 17 00:00:00 2001 From: wells.liu <wells.liu@broconcentric.com> Date: 星期一, 13 七月 2020 18:36:55 +0800 Subject: [PATCH] Merge branch 'master' of http://gitblit.broconcentric.com:8088/r/M071 --- src/ExcelTest/Form1.cs | 122 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 122 insertions(+), 0 deletions(-) diff --git a/src/ExcelTest/Form1.cs b/src/ExcelTest/Form1.cs new file mode 100644 index 0000000..ddb97c6 --- /dev/null +++ b/src/ExcelTest/Form1.cs @@ -0,0 +1,122 @@ +锘縰sing Bro.M071.DBManager; +using Bro.M071.Model.Model; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ExcelTest +{ + public partial class Form1 : Form + { + public Form1() + { + InitializeComponent(); + } + + private void button1_Click(object sender, EventArgs e) + { + SaveExcel(); + //SaveTxt(); + } + + public async void SaveExcel() + { + //if (!Config.IsCSVOutputEnabled) + // return; + + await Task.Run(() => + { + var measurementUnitResultAndKeyUnitDataSet = new ProductionMeasurementUnitResultAndKeyUnitDataSet(); + measurementUnitResultAndKeyUnitDataSet.KeyUnitDataList = new List<KeyUnitData>(); + measurementUnitResultAndKeyUnitDataSet.MeasurementUnitResultList = new List<MeasurementUnitResult>(); + for (int i = 0; i < 10; i++) + { + KeyUnitData keyUnitData = new KeyUnitData(); + keyUnitData.Key = "A" + i; + keyUnitData.MeasurementItem = "Z" + i; + keyUnitData.ItemValue = (i / 10).ToString(); + measurementUnitResultAndKeyUnitDataSet.KeyUnitDataList.Add(keyUnitData); + + + MeasurementUnitResult measurementUnitResult = new MeasurementUnitResult(); + measurementUnitResult.ProductionMeasurementRecordsId = Guid.NewGuid().ToString(); + measurementUnitResult.MeasurementName = "娴嬭瘯" + i; + measurementUnitResult.MeasurementType = "Slant"; + measurementUnitResult.MeasurementValue = (i + 10).ToString(); + measurementUnitResult.MeasurementResult = (i % 2) == 1? "OK":"NG"; + + measurementUnitResultAndKeyUnitDataSet.MeasurementUnitResultList.Add(measurementUnitResult); + } + + + ExcelExportSet excelExportDto = new ExcelExportSet(); + excelExportDto.Worksheets = new List<string>() { "鍘熷鏁版嵁", "妫�娴嬬粨鏋�" }; + var keyUnitColumns = new Dictionary<string, string>() + { + {"Key", "閿�"}, + {"MeasurementItem", "妫�娴嬮」"}, + {"ItemValue", "妫�娴嬪��"} + }; + var measurementUnitResultColumns = new Dictionary<string, string>() + { + {"MeasurementName", "妫�娴嬪悕绉�"}, + {"MeasurementType", "妫�娴嬬被鍨�"}, + {"MeasurementValue", "妫�娴嬪��"}, + {"MeasurementResult", "妫�娴嬬粨鏋�"}, + }; + excelExportDto.WorksheetColumns[excelExportDto.Worksheets[0]] = keyUnitColumns; + excelExportDto.WorksheetColumns[excelExportDto.Worksheets[1]] = measurementUnitResultColumns; + + excelExportDto.WorksheetDataTable[excelExportDto.Worksheets[0]] = ExcelExportHelper.ListToDataTable(measurementUnitResultAndKeyUnitDataSet.KeyUnitDataList, keyUnitColumns); + excelExportDto.WorksheetDataTable[excelExportDto.Worksheets[1]] = ExcelExportHelper.ListToDataTable(measurementUnitResultAndKeyUnitDataSet.MeasurementUnitResultList, measurementUnitResultColumns); ; + + + string dir = Path.Combine(@"D:\PROJECTS\M071", DateTime.Now.ToString("yyyyMMdd")); + if (!Directory.Exists(dir)) + { + Directory.CreateDirectory(dir); + } + var fileName = Path.Combine(dir, $"test_133536.xlsx"); + byte[] filecontent = ExcelExportHelper.CreateOrAppendExcel(excelExportDto, fileName); + FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write); + fs.Write(filecontent, 0, filecontent.Length); + fs.Flush(); + fs.Close(); + }); + } + public void SaveTxt() + { + FileStream fs = null; + string filePath = "D:\\file1.txt"; + //灏嗗緟鍐欑殑鍏ユ暟鎹粠瀛楃涓茶浆鎹负瀛楄妭鏁扮粍 + Encoding encoder = Encoding.UTF8; + byte[] bytes = encoder.GetBytes("Hello World! \n\r"); + try + { + //fs = File.OpenWrite(filePath); + ////璁惧畾涔﹀啓鐨勫紑濮嬩綅缃负鏂囦欢鐨勬湯灏� + //fs.Position = fs.Length; + + fs = File.Open(filePath, FileMode.Append, FileAccess.Write); + //灏嗗緟鍐欏叆鍐呭杩藉姞鍒版枃浠舵湯灏� + fs.Write(bytes, 0, bytes.Length); + + } + catch (Exception ex) + { + Console.WriteLine("鏂囦欢鎵撳紑澶辫触{0}", ex.ToString()); + } + finally + { + fs.Close(); + } + } + } +} -- Gitblit v1.8.0