public String GetRowValueToString(DataGrid table, int row) { String[] valueString = new String[colCount]; RowViewItem rowItem = list[row]; for (int i = 1; i <= colCount; i++) { String cellString = GetCellValue(row, i); if (!"UUID()".Equals(cellString.Trim())) { valueString[i - 1] = "'" + cellString + "'"; } else { valueString[i - 1] = cellString; } } return(StringUtil.changeArrayToString(valueString, ",")); }
public void SetValue(ref RowViewItem val, int j, String value) { switch (j) { case 1: val._1 = value; break; case 2: val._2 = value; break; case 3: val._3 = value; break; case 4: val._4 = value; break; case 5: val._5 = value; break; case 6: val._6 = value; break; case 7: val._7 = value; break; case 8: val._8 = value; break; case 9: val._9 = value; break; case 10: val._10 = value; break; case 11: val._11 = value; break; case 12: val._12 = value; break; case 13: val._13 = value; break; case 14: val._14 = value; break; case 15: val._15 = value; break; case 16: val._16 = value; break; case 17: val._17 = value; break; case 18: val._18 = value; break; case 19: val._19 = value; break; case 20: val._20 = value; break; case 21: val._21 = value; break; case 22: val._22 = value; break; case 23: val._23 = value; break; case 24: val._24 = value; break; case 25: val._25 = value; break; case 26: val._26 = value; break; case 27: val._27 = value; break; case 28: val._28 = value; break; case 29: val._29 = value; break; case 30: val._30 = value; break; case 31: val._31 = value; break; case 32: val._32 = value; break; case 33: val._33 = value; break; case 34: val._34 = value; break; case 35: val._35 = value; break; case 36: val._36 = value; break; case 37: val._37 = value; break; case 38: val._38 = value; break; case 39: val._39 = value; break; case 40: val._40 = value; break; case 41: val._41 = value; break; case 42: val._42 = value; break; case 43: val._43 = value; break; case 44: val._44 = value; break; case 45: val._45 = value; break; case 46: val._46 = value; break; case 47: val._47 = value; break; case 48: val._48 = value; break; case 49: val._49 = value; break; case 50: val._50 = value; break; case 51: val._51 = value; break; case 52: val._52 = value; break; case 53: val._53 = value; break; case 54: val._54 = value; break; case 55: val._55 = value; break; case 56: val._56 = value; break; case 57: val._57 = value; break; case 58: val._58 = value; break; case 59: val._59 = value; break; case 60: val._60 = value; break; case 61: val._61 = value; break; case 62: val._62 = value; break; case 63: val._63 = value; break; case 64: val._64 = value; break; case 65: val._65 = value; break; case 66: val._66 = value; break; case 67: val._67 = value; break; case 68: val._68 = value; break; case 69: val._69 = value; break; case 70: val._70 = value; break; case 71: val._71 = value; break; case 72: val._72 = value; break; case 73: val._73 = value; break; case 74: val._74 = value; break; case 75: val._75 = value; break; case 76: val._76 = value; break; case 77: val._77 = value; break; case 78: val._78 = value; break; case 79: val._79 = value; break; case 80: val._80 = value; break; case 81: val._81 = value; break; case 82: val._82 = value; break; case 83: val._83 = value; break; case 84: val._84 = value; break; case 85: val._85 = value; break; case 86: val._86 = value; break; case 87: val._87 = value; break; case 88: val._88 = value; break; case 89: val._89 = value; break; case 90: val._90 = value; break; case 91: val._91 = value; break; case 92: val._92 = value; break; case 93: val._93 = value; break; case 94: val._94 = value; break; case 95: val._95 = value; break; case 96: val._96 = value; break; case 97: val._97 = value; break; case 98: val._98 = value; break; case 99: val._99 = value; break; case 100: val._100 = value; break; } }
private async void ReadExcelData(String @path) { if (StringUtil.isBlank(@path)) { AyMessageBox.ShowError("文件路径不正确!"); btn_readFileData.IsEnabled = true; btn_selectFile.IsEnabled = true; return; } try { fileStream = new FileStream(@path, FileMode.Open, FileAccess.Read); } catch (Exception ex) { AyMessageBox.ShowError(ex.ToString()); btn_readFileData.IsEnabled = true; btn_selectFile.IsEnabled = true; return; } if (fileStream.CanRead) { String houzhui = fileStream.Name.Substring(fileStream.Name.LastIndexOf(".") + 1, fileStream.Name.Length - fileStream.Name.LastIndexOf(".") - 1); if ("xls".Equals(houzhui)) { workbook = new HSSFWorkbook(fileStream); } else if ("xlsx".Equals(houzhui)) { workbook = new XSSFWorkbook(fileStream); } } else { AyMessageBox.ShowError("文件读取失败!"); workbook = null; return; } sheet = workbook.GetSheetAt(0); if (sheet == null) { return; } table_datagrid.Columns.Clear(); DataGridTemplateColumn index_col_val = TransExpV2 <DataGridTemplateColumn, DataGridTemplateColumn> .Trans(index_col); DataGridTemplateColumn input_state_col_val = TransExpV2 <DataGridTemplateColumn, DataGridTemplateColumn> .Trans(input_state_col); index_col_val.DisplayIndex = 0; table_datagrid.Columns.Add(index_col_val); //获取总行数 rowCount = sheet.PhysicalNumberOfRows; int i, j; if (rowCount > 0) { //根据第一行,获取总列数 titleRow = sheet.GetRow(0); colCount = titleRow.PhysicalNumberOfCells; //初始化字段名称和表格标题名称的数组大小 fieldArray = new String[colCount]; headerArray = new String[colCount]; for (i = 0; i < colCount; i++) { String titleString = titleRow.GetCell(i).StringCellValue; if (StringUtil.isNotBlank(titleString)) { String[] titleStringSplitArr = titleString.Replace(" ", "").Split(new Char[] { '(', ')', ',', ':', '[', ']', '(', ')', ',', ':', '【', '】' }, StringSplitOptions.RemoveEmptyEntries); if (titleStringSplitArr != null) { if (titleStringSplitArr.Count() == 3) { headerArray[i] = titleStringSplitArr[1]; fieldArray[i] = titleStringSplitArr[2]; if ("*".Equals(titleStringSplitArr[0])) { AddColumn(headerArray[i], "*", i + 1); } else { AddColumn(headerArray[i], titleStringSplitArr[0], i + 1); } } else if (titleStringSplitArr.Count() == 2) { headerArray[i] = titleStringSplitArr[0]; fieldArray[i] = titleStringSplitArr[1]; AddColumn(headerArray[i], "200", i + 1); } else if (titleStringSplitArr.Count() == 1) { fieldArray[i] = titleStringSplitArr[0]; AddColumn(fieldArray[i], "200", i + 1); } else { AyMessageBox.ShowError("标题和字段信息初始化错误!"); } } } } } //填充数据 AyTime.setTimeout(1, () => { try { btn_inputDataToDatabase.IsEnabled = false; cb_empty.IsEnabled = false; cb_re.IsEnabled = false; cmb_fielditem.IsEnabled = false; cmb_fielditem.SelectedIndex = -1; cmb_fielditem.Text = ""; cmb_fielditem.Items.Clear(); list.Clear(); for (i = 1; i < rowCount; i++) { RowViewItem rowItem = new RowViewItem(); rowItem._number = i.ToString(); IRow rowData = sheet.GetRow(i); for (j = 0; j < colCount; j++) { String value = rowData.GetCell(j).ToString(); SetValue(ref rowItem, j + 1, value); } rowItem._state = "尚未导入"; list.Add(rowItem); } } catch (Exception ex) { btn_inputDataToDatabase.IsEnabled = false; cb_empty.IsEnabled = false; cb_re.IsEnabled = false; cmb_fielditem.IsEnabled = false; cmb_fielditem.SelectedIndex = -1; cmb_fielditem.Text = ""; cmb_fielditem.Items.Clear(); AyMessageBox.ShowError("数据填充时发生错误:" + ex.ToString()); } finally { if (!readTableNames) { if (list.Count > 0) { if (cmb_tables.IsEnabled) { btn_inputDataToDatabase.IsEnabled = true; } } } btn_selectFile.IsEnabled = true; btn_readFileData.IsEnabled = true; } cb_empty.IsEnabled = true; cb_re.IsEnabled = true; cmb_fielditem.IsEnabled = true; int f_count = fieldArray.Count(); int h_count = headerArray.Count(); cmb_fielditem.Items.Add(new ComboBoxItem()); for (i = 0; i < f_count && i < h_count; i++) { ComboBoxItem cbi = new ComboBoxItem(); cbi.Content = headerArray[i]; cbi.Uid = fieldArray[i]; cmb_fielditem.Items.Add(cbi); } }); input_state_col_val.DisplayIndex = table_datagrid.Columns.Count(); table_datagrid.Columns.Add(input_state_col_val); reFlag = false; emptyFlag = false; cb_re.IsChecked = false; cb_empty.IsChecked = false; cmb_fielditem.SelectedIndex = -1; cmb_fielditem.Text = ""; //添加行数据 //table_datagrid. GC.Collect(); }