Ejemplo n.º 1
0
        private void btnLoad_SD_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(this.txtHDRExcelPath.Text))
            {
                MessageBox.Show("请选择hdr sd模型描述excel文件");
                return;
            }
            if (!File.Exists(this.txtHDRExcelPath.Text))
            {
                MessageBox.Show("hdr sd模型描述excel文件不存在");
                return;
            }

            //string filePath = Path.Combine(basePath, @"..\HDR库表集合_V1.0.5-201908.xlsx");
            string filePath = this.txtHDRExcelPath.Text;

            var inputfilename = Path.GetFileNameWithoutExtension(this.txtHDRExcelPath.Text);



            Workbook workbook = null;

            using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
            {
                workbook = new Workbook(fs);
            }
            var worksheets = workbook.Worksheets;
            HdrExcelProcesser  hdrExcelProcesser = new HdrExcelProcesser();
            List <ExcelColumn> cols = new List <ExcelColumn>();


            var result = hdrExcelProcesser.ProcessSchemaSd(worksheets);

            cols.AddRange(result);

            string outfilePath = Path.Combine(basePath, $"{inputfilename}_hdrcolumns_{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx");

            Workbook wb = new Workbook();

            wb.Worksheets.Clear();

            Worksheet sheet1 = wb.Worksheets.Add("hdr_columns");

            sheet1.Cells.ImportCustomObjects(cols as ICollection, 0, 0, new ImportTableOptions {
            });

            wb.Save(outfilePath, SaveFormat.Xlsx);

            using (var conn = new PostgresHelper(dbConnectionString))
            {
                var bulkinserthelper = conn.BulkinsertHdrColumns(cols, false);
            }
            Process.Start("Explorer", "/select," + outfilePath);
        }