领胜LDS 键盘AOI检测项目
patrick.xu
2022-02-24 3322022068ab818912d6f5d9e5eb31f51cc639c2
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
115
116
117
118
119
120
121
122
using 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();
            }
        }
    }
}