Example #1
0
        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, ","));
        }
Example #2
0
        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;
            }
        }
Example #3
0
        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();
        }