⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmmain.cs

📁 cics文本日志分析
💻 CS
📖 第 1 页 / 共 2 页
字号:
            
        }
        private void initTxt2Sheet()
        {
            string[] tmpArrString;

            this.Text = m_ResourceManager.GetString("ApplicationName");
            string tmpStr = string.Empty;
            tmpStr = m_ResourceManager.GetString("DataItems");
            m_DataItem = tmpStr.Split(',');
            tmpStr = m_ResourceManager.GetString("Data_Position");
            m_dataPosition = tmpStr.Split(',');
            tmpStr = m_ResourceManager.GetString("Data_Times");
            m_dataTimes= tmpStr.Split(',');
            tmpStr = m_ResourceManager.GetString("Data_Ignore");
            m_dataIgnore = tmpStr.Split(',');
            if(m_DataItem.Length != m_dataPosition.Length)
            {
                MessageBox.Show("数据参数设置不匹配", "严重错误");
                this.Close();
            }
            m_reportDate = m_ResourceManager.GetString("Report_Date");
            m_reportTime = m_ResourceManager.GetString("Report_Time");
            m_applID = m_ResourceManager.GetString("Application_ID");
            m_jobName = m_ResourceManager.GetString("Job_Name");

            m_DataString = new StringBuilder[m_DataItem.Length];
            m_data = new TxtData[m_DataItem.Length];
            try
            {
                for (int j = 0; j < m_DataString.Length; j++)
                {
                    m_DataString[j] = new StringBuilder();
                    m_data[j] = new TxtData();
                    m_data[j].m_tableName = m_DataItem[j];
                    m_data[j].m_dataBeginRow = System.Convert.ToInt16(m_dataPosition[j]);
                    m_data[j].m_dataTimes = System.Convert.ToInt16(m_dataTimes[j]);
                    m_data[j].m_colName = m_ResourceManager.GetString("Column_name_" + j.ToString()).Split(',');
                    m_data[j].m_data = new StringBuilder();

                    tmpArrString = m_ResourceManager.GetString("Column_size_" + j.ToString()).Split(',');
                    m_data[j].m_colSize = new int[tmpArrString.Length];
                    for (int i = 0; i < tmpArrString.Length; i++)
                        m_data[j].m_colSize[i] = System.Convert.ToInt16(tmpArrString[i]);
                    m_DataItemMapID.Add(m_DataItem[j], j);

                }
            }
            catch (Exception e)
            {
                MessageBox.Show("参数配置错误:"+e.Message);
                this.Close();
            }

            lstDataItem.Items.Clear();      
            foreach (string dItem in m_DataItem)
            {
                lstDataItem.Items.Add(dItem);  
            }
            lstDataItem.Refresh();

            stuMain.Items[0].Text = stuMain.Items[0].Text + DateTime.Now.ToShortDateString();
            stuMain.Items[0].Width = (int)this.Width * 20 / 100;
            stuMain.Items[1].Text = stuMain.Items[1].Text + m_ResourceManager.GetString("AuthorPhone");
            stuMain.Items[1].Width = (int)this.Width * 30 / 100;
            stuMain.Items[2].Text = stuMain.Items[2].Text + m_ResourceManager.GetString("CopyRight");
            stuMain.Items[2].Width = (int)this.Width * 40 / 100;
        }
        private int getDataItemID(string dataItem)
        {
            object objID = m_DataItemMapID[dataItem];
            return (int)objID;
        }

        private void lstDataItem_SelectedIndexChanged(object sender, EventArgs e)
        {
            dgvTable.Rows.Clear();
            dgvTable.Columns.Clear();
            dataToTale(m_data[getDataItemID(lstDataItem.SelectedItem.ToString())], dgvTable);
        }
        private string fixWidthString(string srcString,int width)
        {
            StringBuilder strBuf;
            strBuf = new StringBuilder();
            if(srcString.Length<width)
            {
                for (int i = 0; i < width - srcString.Length; i++)
                    strBuf.Append(" ");
            }
            return strBuf.ToString() + srcString;

        }

 
        private void dataToTale(TxtData txtdata,DataGridView dgv)
        {
            int lineSize=0;
            int startPosition=0;
            string lineData = "";
            string[] colData;
            if( txtdata==null) return;
            
            colData = new string[txtdata.m_colSize.Length];
            for (int i = 0; i < txtdata.m_colSize.Length; i++)
            {
                lineSize = lineSize + txtdata.m_colSize[i];
                DataGridViewTextBoxColumn colID = new DataGridViewTextBoxColumn();
                colID.DataPropertyName = txtdata.m_colName[i];
                colID.Name = txtdata.m_colName[i];
                colID.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
                colID.HeaderText = txtdata.m_colName[i];
                colID.Width = txtdata.m_colSize[i]*8;
                dgv.Columns.Add(colID);
            }
            for (int j = 0; j < txtdata.m_data.Length; j = j + lineSize)
            {
                lineData = txtdata.m_data.ToString(j, lineSize);
                startPosition = 0;
                for (int i = 0; i < txtdata.m_colSize.Length; i++)
                {
                    colData[i] = lineData.Substring(startPosition, txtdata.m_colSize[i]);
                    startPosition = startPosition + txtdata.m_colSize[i];
                }
                dgv.Rows.Add(colData);
            }


            

        }

        private void btnTable2Excel_Click(object sender, EventArgs e)
        {
                        Excel.Application excelApp;
            Excel.Workbook workBook;
            Excel.Worksheet ws;
            Excel.Range r;

            int row = 1;
            int col = 1;   

            if(dgvTable.RowCount<1) {
                MessageBox.Show("表格没有数据");
                return;
            }
            try
            {
                excelApp = new Excel.Application();
                workBook = excelApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
                ws = (Worksheet)workBook.Worksheets[1];
            }
            catch
            {

                MessageBox.Show("An incompatible version of Microsoft Excel is intalled on your system.");
                return;
            }

                ws.Name = "Txt2Sheet";
                for (int i = 1; i <= dgvTable.Columns.Count; i++)
                {
                    ws.Cells[row, i] = dgvTable.Columns[i - 1].Name;
                    r = (Range)ws.Cells[row, i];
                    r.Font.Bold = true;
                    r.ColumnWidth = dgvTable.Columns[i - 1].Width / 8;
                    r.Cells.HorizontalAlignment = XlHAlign.xlHAlignCenter;
                    r.Cells.Interior.Color = System.Drawing.Color.FromArgb(255, 204, 153).ToArgb();
                    r.BorderAround(XlLineStyle.xlContinuous, XlBorderWeight.xlThin, XlColorIndex.xlColorIndexAutomatic, System.Drawing.Color.Black.ToArgb());
                }

                for (int i = 1; i < dgvTable.Rows.Count; i++)
                {
                    row = row + 1;
                    col = 1;
                    for (int j = 1; j <= dgvTable.Columns.Count; j++)
                    {
                        ws.Cells[row, col] = dgvTable.Rows[row - 1].Cells[col - 1].Value;
                        col = col + 1;
                    }
                }


            //show
            ws.Activate();
            excelApp.Visible = true;
        }
        private void LockControls(bool lockValue)
        {
            m_ControlsLocked = lockValue;

            if (m_ControlsLocked)
            {
                this.Cursor = Cursors.WaitCursor;
                System.Windows.Forms.Application.DoEvents();
            }
            else
            {
                this.Cursor = Cursors.Arrow;
                System.Windows.Forms.Application.DoEvents();
            }
        }



    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -