private async void convertFileButton_Click(object sender, EventArgs e) { var dialog = new System.Windows.Forms.OpenFileDialog(); if (conversionType.SelectedIndex == 0) //PO { dialog.Filter = "PO Files|*.po"; } else { dialog.Filter = "Excel Files|*.xlsx"; } if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { var progressHandler = new Progress <string>(value => { logsText.AppendText(value + Environment.NewLine); logsText.Select(logsText.TextLength - 1, 0); logsText.ScrollToCaret(); }); var po = new POFormat(); await po.Read(dialog.FileName, progressHandler); var xlsx = new XLSFormat(po.Entries, po.MetaData); xlsx.Write(Path.GetDirectoryName(dialog.FileName) + Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(dialog.FileName) + ".xlsx", progressHandler); } }
private static volatile object _sync = new object(); // NPOI has MT issues public XLSLoader(string password = null, XLSFormat format = XLSFormat.NPOI) { _password = password; _format = format; }