📄 frmmain.cs
字号:
}
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 + -