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; using Database; using OnDoc.Klassen; using ExcelNet; using System.Windows.Forms.VisualStyles; namespace Vorlagen_Viewer { public partial class Form1 : Form { System.Data.DataTable importdata = new DataTable(); System.Data.DataTable importdata1 = new DataTable(); bool fromexcel = false; string connectionstring = ""; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { splitContainer1.SplitterDistance = this.Width / 2; button1_Click(sender, e); } private void sfDataGrid1_Click(object sender, EventArgs e) { } private void sfDataGrid1_CellClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellClickEventArgs e) { string dateinr = ""; DB db = new DB(connectionstring); try { string dokumenttypnr = ""; var rowIndex = e.DataRow.RowIndex; //Get the column index value var columnIndex = e.DataColumn.ColumnIndex; var selectedItem = e.DataRow; var dataRow = (e.DataRow.RowData as DataRowView).Row; if (fromexcel) { dokumenttypnr = dataRow[0].ToString(); string sql = ""; sql = "SELECT dbo.dokumenttyp.dokumenttypnr, dbo.dokumenttyp.bezeichnung, dbo.Office_Vorlage_Datei.dateiname, dbo.office_vorlage_datei.office_vorlage_dateinr as dateinr "; sql = sql + "FROM dbo.dokumenttyp INNER JOIN "; sql = sql + "dbo.office_vorlage ON dbo.dokumenttyp.office_vorlagenr = dbo.office_vorlage.office_vorlagenr INNER JOIN "; sql = sql + "dbo.Office_Vorlage_Datei ON dbo.office_vorlage.office_vorlagenr = dbo.Office_Vorlage_Datei.office_vorlagenr where dokumenttypnr=" + dokumenttypnr; db.Get_Tabledata(sql, false, true); dateinr = db.dsdaten.Tables[0].Rows[0]["dateinr"].ToString(); } else { dateinr = dataRow["dateinr"].ToString(); } string document = db.Get_Office_Vorlage_asBase64(dateinr); db.Get_ApplicationType_from_Vorlage(Convert.ToInt32(dateinr)); string Apptype = ""; Apptype = db.dsdaten.Tables[0].Rows[0][0].ToString(); DOCGEN.DocGet dg = new DOCGEN.DocGet(connectionstring); string pdfdoc = ""; switch (Apptype.ToUpper()) { case "DOCX": case "DOCM": case "DOC": case "DOT": case "WORD": case "DOTM": pdfdoc = dg.Convert_Word_To_PDF(document); break; case "XLSM": case "XLSX": case "XLST": case "XLS": case "XLT": pdfdoc = dg.Convert_Excel_To_PDF(document); break; dg = null; //break; case "PDF": case "ACROBAT": case "FORMULAR": case "DOKUMENT": //break ; default: break; //break; } if (pdfdoc != "") { var stream = new MemoryStream(Convert.FromBase64String(pdfdoc)); pdfViewerControl1.Load(stream); } db = null; dg = null; } catch { } finally { db = null; } } private void button1_Click(object sender, EventArgs e) { string startuppath = AppDomain.CurrentDomain.BaseDirectory; connectionstring = System.IO.File.ReadAllText(startuppath + @"\ondocconn.cfg"); connectionstring = StringCipher.Decrypt(connectionstring, "i%!k!7pab%bNLdA5hE4pkR4XaB%E^jB3d9tHuQ4pbF&BZjF7SB#WBWit5#HrbJiLrLVm"); string sql = ""; sql = "SELECT dbo.dokumenttyp.dokumenttypnr, dbo.dokumenttyp.bezeichnung, dbo.Office_Vorlage_Datei.dateiname, dbo.office_vorlage_datei.office_vorlage_dateinr as dateinr "; sql = sql + "FROM dbo.dokumenttyp INNER JOIN "; sql = sql + "dbo.office_vorlage ON dbo.dokumenttyp.office_vorlagenr = dbo.office_vorlage.office_vorlagenr INNER JOIN "; sql = sql + "dbo.Office_Vorlage_Datei ON dbo.office_vorlage.office_vorlagenr = dbo.Office_Vorlage_Datei.office_vorlagenr"; DB db = new DB(connectionstring); db.Get_Tabledata(sql, false, true); sfDataGrid1.DataSource = db.dsdaten.Tables[0]; db = null; fromexcel = false; } private void button2_Click(object sender, EventArgs e) { openFileDialog1.Filter = "Excel-Dateien (*.xlsx)|*.xlsx|Alle Dateien (*.*)|*.*"; if (openFileDialog1.ShowDialog() == DialogResult.OK) { ExcelNet.ExcelReader reader = new ExcelNet.ExcelReader(); string selected_sheetname = ""; var sheets = new List(); try { sheets = reader.Get_ExcelSheets(openFileDialog1.FileName); } catch { MessageBox.Show("Auf die gewählte Excel-Datei kann aktuell nicht zugegriffen werden. Evtl. ist diese noch geöffnet.", "Excel-Import", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } selected_sheetname = sheets[0]; reader.Excel_To_Datatabable(openFileDialog1.FileName, selected_sheetname, true, ref importdata); sfDataGrid1.DataSource = null; importdata1.Rows.Clear(); importdata1.Columns.Clear(); int i = 0; foreach(DataColumn dc in importdata.Columns) { if (i == 0) { importdata1.Columns.Add(dc.ColumnName, typeof(Int32)); } else { importdata1.Columns.Add(dc.ColumnName, typeof(string)); } i++; } foreach(DataRow dr in importdata.Rows) { DataRow drn = importdata1.NewRow(); foreach (DataColumn dc in importdata.Columns) { drn[dc.ColumnName] = dr[dc.ColumnName]; } importdata1.Rows.Add(drn); } importdata1.AcceptChanges(); //importdata.Columns[0].DataType = typeof(Int32); sfDataGrid1.DataSource = importdata1; fromexcel = true; reader = null; } } } }