private IFieldTable GetTable(DataGridView dgv, string tableName) { BaseFieldTable table = new BaseFieldTable(tableName); foreach (DataGridViewColumn col in dgv.Columns) { table.AddField(new TableField() { Name = col.HeaderText, Type = TableField.FieldTypeList[TableFieldType.长文本] }); } return(table); }
private IFieldTable GetTable(DataTable dt, string tableName) { BaseFieldTable table = new BaseFieldTable(tableName); foreach (DataColumn col in dt.Columns) { table.AddField(new TableField() { Name = col.ColumnName, Type = TableField.FieldTypeList[TableFieldType.长文本] }); } return(table); }
private void 数据导入ToolStripMenuItem_Click(object sender, EventArgs e) { if (dataEditPanel1.TableName == "") { MessageBox.Show("请在报表树中选择要导入的表"); return; } TreeNode tn = tv_Table.Nodes.Find(dataEditPanel1.TableName, true).Where(t => t.Nodes.Count == 0).FirstOrDefault(); if (tn == null || tn.Parent == null || tn.Tag == null) { MessageBox.Show("请在报表树中选择要导入的表"); return; } ITemplateHelper templateHelper = ATemplateHelper.GetTemplateHelper(tn.Parent.Text, dataEditPanel1.TableName); string Filter = "Excel文件|*.xls|Excel文件|*.xlsx"; OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.InitialDirectory = Application.StartupPath + "\\OutPut\\"; if (!Directory.Exists(openFileDialog1.InitialDirectory)) { Directory.CreateDirectory(openFileDialog1.InitialDirectory); } openFileDialog1.Title = "Excel文件"; openFileDialog1.Filter = Filter; openFileDialog1.ValidateNames = true; openFileDialog1.CheckFileExists = true; openFileDialog1.CheckPathExists = true; if (openFileDialog1.ShowDialog() != DialogResult.OK) { return; } if (!openFileDialog1.FileName.Contains(dataEditPanel1.TableName)) { MessageBox.Show("您选择的数据导入文件不正确,请重新选择!"); return; } DataTable dataTable = templateHelper.InPut(dataEditPanel1.TableName, openFileDialog1.FileName); if (dataTable == null) { MessageBox.Show("您选择的数据导入文件不正确,请重新选择!"); return; } BaseFieldTable fieldTable = new BaseFieldTable(dataTable.TableName); foreach (DataColumn col in dataTable.Columns) { fieldTable.AddField(new TableField() { Name = col.ColumnName, Value = "", Type = col.DataType.ToString() }); } foreach (DataRow row in dataTable.Rows) { foreach (DataColumn col in dataTable.Columns) { fieldTable.UpdateFieldValue(col.ColumnName, row[col].ToString()); } DBHelper.GetDBHelper().InsertIntoTable(fieldTable); } ReloadDataTable(dataEditPanel1.TableName); }