..
This commit is contained in:
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||||||
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호가 자동으로
|
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호가 자동으로
|
||||||
// 지정되도록 할 수 있습니다.
|
// 지정되도록 할 수 있습니다.
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("22.02.01.1200")]
|
[assembly: AssemblyVersion("22.02.01.1730")]
|
||||||
[assembly: AssemblyFileVersion("22.02.01.1200")]
|
[assembly: AssemblyFileVersion("22.02.01.1730")]
|
||||||
|
|||||||
@@ -435,7 +435,7 @@ namespace FCOMMON
|
|||||||
var retval = new sItemInfo();
|
var retval = new sItemInfo();
|
||||||
retval.idx = -1;
|
retval.idx = -1;
|
||||||
|
|
||||||
string sql = "select [id],[name],([name] +'(' +[id] +')') as dispName,[dept],[email],[level],[tel] " +
|
string sql = "select [id],[name],([name] +'(' +[id] +')') as dispName,[dept],[email],[level],[tel],isnull(processs,'') as process " +
|
||||||
" from vGroupUser " +
|
" from vGroupUser " +
|
||||||
" where gcode='" + FCOMMON.info.Login.gcode + "' and [id] <> 'dev' and isnull(outdate,'') = '' and useUserState = 1 order by [name]";
|
" where gcode='" + FCOMMON.info.Login.gcode + "' and [id] <> 'dev' and isnull(outdate,'') = '' and useUserState = 1 order by [name]";
|
||||||
var cmd = new SqlCommand(sql, cn);
|
var cmd = new SqlCommand(sql, cn);
|
||||||
|
|||||||
@@ -40,6 +40,9 @@ namespace FPJ0000.JobReport_
|
|||||||
UpdateUserList();
|
UpdateUserList();
|
||||||
|
|
||||||
//엑셀파일불러오기
|
//엑셀파일불러오기
|
||||||
|
this.Show();
|
||||||
|
Application.DoEvents();
|
||||||
|
|
||||||
var file = FCOMMON.Util.CurrentPath + "ReportProjectSummary.xlsx";
|
var file = FCOMMON.Util.CurrentPath + "ReportProjectSummary.xlsx";
|
||||||
this.fpSpread1.OpenExcel(file);
|
this.fpSpread1.OpenExcel(file);
|
||||||
if (this.fpSpread1.Sheets.Count > 1) this.fpSpread1.ActiveSheetIndex = 0;
|
if (this.fpSpread1.Sheets.Count > 1) this.fpSpread1.ActiveSheetIndex = 0;
|
||||||
@@ -49,38 +52,53 @@ namespace FPJ0000.JobReport_
|
|||||||
}
|
}
|
||||||
void UpdateUserList()
|
void UpdateUserList()
|
||||||
{
|
{
|
||||||
var db = new EEEntities();
|
// var db = new EEEntities();
|
||||||
|
|
||||||
cmbUser.Items.Clear();
|
cmbUser.Items.Clear();
|
||||||
cmbUser.Items.Add("--전체--");
|
cmbUser.Items.Add("--전체--");
|
||||||
|
|
||||||
|
var userList = FCOMMON.DBM.getUserTable(1);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//일반사용자 목록 가져온다
|
//일반사용자 목록 가져온다
|
||||||
IQueryable<IGrouping<String, vJobReportForUser>> userlist;
|
IQueryable<IGrouping<String, vJobReportForUser>> userlist;
|
||||||
|
|
||||||
if (tbProcess.SelectedIndex <= 0)
|
|
||||||
{
|
|
||||||
//공정구분없이 전체사용자를 가져온다
|
//공정구분없이 전체사용자를 가져온다
|
||||||
userlist = db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode).OrderBy(t => t.name).GroupBy(t => t.name);
|
foreach (System.Data.DataRow item in userList.Rows)
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
userlist = db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.userProcess == tbProcess.Text).OrderBy(t => t.name).GroupBy(t => t.name);
|
var id = item.Field<string>("id");
|
||||||
|
var dispname = item.Field<string>("dispname");
|
||||||
|
var process = item.Field<string>("process");
|
||||||
|
if (tbProcess.SelectedIndex > 0 && tbProcess.Text.Equals(process) == false) continue;
|
||||||
|
cmbUser.Items.Add(dispname);
|
||||||
}
|
}
|
||||||
|
|
||||||
//if (tbProcess.SelectedIndex != 0) userlist = userlist.Where(t => t.processs == tbProcess.Text); //해당 공정의 인원만 처리한다
|
//if (tbProcess.SelectedIndex <= 0)
|
||||||
|
//{
|
||||||
|
|
||||||
|
//}
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
// userlist = db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.userProcess == tbProcess.Text).OrderBy(t => t.name).GroupBy(t => t.name);
|
||||||
|
//}
|
||||||
|
|
||||||
|
////if (tbProcess.SelectedIndex != 0) userlist = userlist.Where(t => t.processs == tbProcess.Text); //해당 공정의 인원만 처리한다
|
||||||
|
|
||||||
|
|
||||||
foreach (var item in userlist)
|
|
||||||
{
|
|
||||||
var dr = item.First();
|
|
||||||
cmbUser.Items.Add(String.Format("[{0}] {1}", dr.id, dr.name));
|
|
||||||
}
|
|
||||||
if (tbProcess.SelectedIndex > 0)
|
if (tbProcess.SelectedIndex > 0)
|
||||||
cmbUser.Text = string.Format("[{0}] {1}", FCOMMON.info.Login.no, FCOMMON.info.Login.nameK);
|
cmbUser.Text = string.Format("{1}({0})", FCOMMON.info.Login.no, FCOMMON.info.Login.nameK);
|
||||||
|
|
||||||
if (cmbUser.SelectedIndex < 0) cmbUser.SelectedIndex = 0; //기본전체로 선택해준다.
|
if (cmbUser.SelectedIndex < 0) cmbUser.SelectedIndex = 0; //기본전체로 선택해준다.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
string getUserID()
|
||||||
|
{
|
||||||
|
var si = cmbUser.Text.LastIndexOf("(");
|
||||||
|
var ei = cmbUser.Text.LastIndexOf(")");
|
||||||
|
var retval = cmbUser.Text.Substring(si + 1, ei - si - 1);
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
void refrehData()
|
void refrehData()
|
||||||
{
|
{
|
||||||
var db = new EEEntities();
|
var db = new EEEntities();
|
||||||
@@ -120,7 +138,7 @@ namespace FPJ0000.JobReport_
|
|||||||
if (cmbUser.SelectedIndex > 0)
|
if (cmbUser.SelectedIndex > 0)
|
||||||
{
|
{
|
||||||
//사용자번호
|
//사용자번호
|
||||||
var UserNo = cmbUser.Text.Substring(1, cmbUser.Text.IndexOf(']') - 1);
|
var UserNo = getUserID();// cmbUser.Text.Substring(1, cmbUser.Text.IndexOf(']') - 1);
|
||||||
baseData = db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.id == UserNo).OrderBy(t => t.name).ToList();
|
baseData = db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.id == UserNo).OrderBy(t => t.name).ToList();
|
||||||
}
|
}
|
||||||
else if (tbProcess.SelectedIndex > 0)
|
else if (tbProcess.SelectedIndex > 0)
|
||||||
@@ -144,7 +162,7 @@ namespace FPJ0000.JobReport_
|
|||||||
if (cmbUser.SelectedIndex > 0)
|
if (cmbUser.SelectedIndex > 0)
|
||||||
{
|
{
|
||||||
//사용자번호
|
//사용자번호
|
||||||
var UserNo = cmbUser.Text.Substring(1, cmbUser.Text.IndexOf(']') - 1);
|
var UserNo = getUserID();// cmbUser.Text.Substring(1, cmbUser.Text.IndexOf(']') - 1);
|
||||||
baseData = db.vJobReportForUser
|
baseData = db.vJobReportForUser
|
||||||
.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.id == UserNo && t.pdate.CompareTo(vSD) >= 0 && t.pdate.CompareTo(vED) <= 0)
|
.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.id == UserNo && t.pdate.CompareTo(vSD) >= 0 && t.pdate.CompareTo(vED) <= 0)
|
||||||
.OrderBy(t => t.name)
|
.OrderBy(t => t.name)
|
||||||
@@ -212,13 +230,18 @@ namespace FPJ0000.JobReport_
|
|||||||
{
|
{
|
||||||
var dr = item.FirstOrDefault();
|
var dr = item.FirstOrDefault();
|
||||||
this.fpSpread1.Sheets[0].Cells[6, col++].Value = dr.process;
|
this.fpSpread1.Sheets[0].Cells[6, col++].Value = dr.process;
|
||||||
if (col == 11) break; //목록개수를 넘었으니 더이상 진행하지 못한다 이것들은 모두 ETC에 넣는다
|
if (col == 82) break; //목록개수를 넘었으니 더이상 진행하지 못한다 이것들은 모두 ETC에 넣는다
|
||||||
//col += 1;
|
//col += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//나머지 열을 * 로 채운다
|
//나머지 열을 * 로 채운다
|
||||||
for (int i = col; i < 11; i++)
|
for (int i = col; i < 82; i++)
|
||||||
|
{
|
||||||
this.fpSpread1.Sheets[0].Cells[6, i].Value = "*";
|
this.fpSpread1.Sheets[0].Cells[6, i].Value = "*";
|
||||||
|
this.fpSpread1.Sheets[0].Columns[i].Visible = (i < 8);//.Cells[6, i].Value = "*";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("ko-KR", false);
|
System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("ko-KR", false);
|
||||||
FarPoint.Win.Spread.CellType.NumberCellType numberCellType1 = new FarPoint.Win.Spread.CellType.NumberCellType();
|
FarPoint.Win.Spread.CellType.NumberCellType numberCellType1 = new FarPoint.Win.Spread.CellType.NumberCellType();
|
||||||
@@ -229,7 +252,7 @@ namespace FPJ0000.JobReport_
|
|||||||
//프로세스목록을 먼저 기록한다
|
//프로세스목록을 먼저 기록한다
|
||||||
row = 7;
|
row = 7;
|
||||||
var orProcess = baseData.OrderBy(t => t.requestpart).GroupBy(t => t.requestpart);
|
var orProcess = baseData.OrderBy(t => t.requestpart).GroupBy(t => t.requestpart);
|
||||||
this.fpSpread1.Sheets[0].RowCount = 7+ orProcess.Count() + 1;
|
this.fpSpread1.Sheets[0].RowCount = 7 + orProcess.Count() + 1;
|
||||||
|
|
||||||
foreach (var item in orProcess)
|
foreach (var item in orProcess)
|
||||||
{
|
{
|
||||||
@@ -240,7 +263,7 @@ namespace FPJ0000.JobReport_
|
|||||||
double sumOt = 0.0;
|
double sumOt = 0.0;
|
||||||
//double holytime = 0.0;
|
//double holytime = 0.0;
|
||||||
int coldata = 2;
|
int coldata = 2;
|
||||||
for (int i = 2; i < 11; i++)
|
for (int i = 2; i < 82; i++)
|
||||||
{
|
{
|
||||||
var colName = fpSpread1.Sheets[0].Cells[6, i].Value.ToString();
|
var colName = fpSpread1.Sheets[0].Cells[6, i].Value.ToString();
|
||||||
|
|
||||||
@@ -267,39 +290,56 @@ namespace FPJ0000.JobReport_
|
|||||||
//ETC영역계산
|
//ETC영역계산
|
||||||
{
|
{
|
||||||
//전체합산데이터와, 2~10까지의 데이터가 일치하지 않으면 그것이 ETC이다
|
//전체합산데이터와, 2~10까지의 데이터가 일치하지 않으면 그것이 ETC이다
|
||||||
var etchr = item.Sum(t => t.hrs);
|
var etchr = item.Where(t => t.hrs != null).Sum(t => (float)t.hrs);
|
||||||
var etcot = item.Sum(t => t.ot);
|
var etcot = item.Where(t => t.ot != null).Sum(t => (float)t.ot);
|
||||||
|
|
||||||
//현재데이터의 hrs의 합
|
//현재데이터의 hrs의 합
|
||||||
var subtotal = 0.0;
|
var subtotal = 0f;
|
||||||
for(int i = 2; i <11;i++)
|
for (int i = 2; i < 82; i++)
|
||||||
{
|
{
|
||||||
var ivalue = fpSpread1.Sheets[0].Cells[row, i].Value;
|
var ivalue = fpSpread1.Sheets[0].Cells[row, i].Value;
|
||||||
if (ivalue != null) subtotal += (double)ivalue;
|
if (ivalue != null)
|
||||||
|
{
|
||||||
|
subtotal = subtotal + float.Parse(ivalue.ToString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
var etcval = (etchr + etcot) - subtotal;
|
var etcval = (etchr + etcot) - subtotal;
|
||||||
fpSpread1.Sheets[0].Cells[row, 11].Value = etcval;
|
if (etcval != 0f)
|
||||||
|
Console.WriteLine("sdf");
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 82].Value = etcval;
|
||||||
}
|
}
|
||||||
|
|
||||||
fpSpread1.Sheets[0].Cells[row, 12].CellType = numberCellType1;
|
fpSpread1.Sheets[0].Cells[row, 83].CellType = numberCellType1;
|
||||||
fpSpread1.Sheets[0].Cells[row, 12].ParseFormatString = "N1";
|
fpSpread1.Sheets[0].Cells[row, 83].ParseFormatString = "N1";
|
||||||
fpSpread1.Sheets[0].Cells[row, 12].Formula = string.Format("SUM(C{0}:G{0})+L{0}", row + 1);
|
fpSpread1.Sheets[0].Cells[row, 83].Formula = string.Format("SUM(C{0}:CD{0})+CE{0}", row + 1);
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 83].BackColor = Color.Gold;
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 83].Border = new ComplexBorder(left, top, right, bottom);
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 83].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 83].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||||
|
|
||||||
//H8 /$I$4
|
//H8 /$I$4
|
||||||
if (sumOt == 0.0) fpSpread1.Sheets[0].Cells[row, 13].Value = null; //OT합계
|
if (sumOt == 0.0) fpSpread1.Sheets[0].Cells[row, 84].Value = null; //OT합계
|
||||||
else fpSpread1.Sheets[0].Cells[row, 13].Value = sumOt; //OT합계
|
else fpSpread1.Sheets[0].Cells[row, 84].Value = sumOt; //OT합계
|
||||||
|
|
||||||
// process 의 휴가시간을 다시 계산한다.
|
// process 의 휴가시간을 다시 계산한다.
|
||||||
var 휴가데이터 = baseData.Where(t => t.requestpart == RequestPart && t.svalue == "휴가");
|
var 휴가데이터 = baseData.Where(t => t.requestpart == RequestPart && t.svalue == "휴가");
|
||||||
if (휴가데이터 == null || 휴가데이터.Count() < 1)
|
if (휴가데이터 == null || 휴가데이터.Count() < 1)
|
||||||
{
|
{
|
||||||
fpSpread1.Sheets[0].Cells[row, 14].Value = null;// 0.0; //휴가시간
|
fpSpread1.Sheets[0].Cells[row, 85].Value = null;// 0.0; //휴가시간
|
||||||
}
|
}
|
||||||
else fpSpread1.Sheets[0].Cells[row, 14].Value = 휴가데이터.Sum(t => t.hrs); //휴가시간
|
else fpSpread1.Sheets[0].Cells[row, 85].Value = 휴가데이터.Sum(t => t.hrs); //휴가시간
|
||||||
|
|
||||||
for (int i = 1; i <= 14; i++)
|
fpSpread1.Sheets[0].Cells[row, 84].Border = new ComplexBorder(left, top, right, bottom);
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 84].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 84].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||||
|
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 85].Border = new ComplexBorder(left, top, right, bottom);
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 85].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 85].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||||
|
|
||||||
|
for (int i = 1; i <= 82; i++)
|
||||||
{
|
{
|
||||||
if(i == 12) fpSpread1.Sheets[0].Cells[row, i].BackColor = Color.LightGray;
|
if (i == 82) fpSpread1.Sheets[0].Cells[row, i].BackColor = Color.LightGray;
|
||||||
else fpSpread1.Sheets[0].Cells[row, i].BackColor = Color.White;
|
else fpSpread1.Sheets[0].Cells[row, i].BackColor = Color.White;
|
||||||
fpSpread1.Sheets[0].Cells[row, i].Border = new ComplexBorder(left, top, right, bottom);
|
fpSpread1.Sheets[0].Cells[row, i].Border = new ComplexBorder(left, top, right, bottom);
|
||||||
fpSpread1.Sheets[0].Cells[row, i].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
fpSpread1.Sheets[0].Cells[row, i].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||||
@@ -308,6 +348,7 @@ namespace FPJ0000.JobReport_
|
|||||||
|
|
||||||
|
|
||||||
row += 1;
|
row += 1;
|
||||||
|
Application.DoEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
//합계데이터
|
//합계데이터
|
||||||
@@ -316,11 +357,11 @@ namespace FPJ0000.JobReport_
|
|||||||
fpSpread1.Sheets[0].Cells[row, 1].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
fpSpread1.Sheets[0].Cells[row, 1].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||||
fpSpread1.Sheets[0].Cells[row, 1].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
fpSpread1.Sheets[0].Cells[row, 1].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||||
fpSpread1.Sheets[0].Cells[row, 1].Border = new ComplexBorder(left, top, right, bottom);
|
fpSpread1.Sheets[0].Cells[row, 1].Border = new ComplexBorder(left, top, right, bottom);
|
||||||
for (int i = 2; i <= 14; i++)
|
for (int i = 2; i <= 82; i++)
|
||||||
{
|
{
|
||||||
char basec = 'C';
|
char basec = 'C';
|
||||||
char newc = (char)(basec + (i - 2));
|
char newc = (char)(basec + (i - 2));
|
||||||
fpSpread1.Sheets[0].Cells[row, i].Formula = "SUM(" + newc.ToString() + "8:" + newc.ToString() + row.ToString() + ")";
|
fpSpread1.Sheets[0].Cells[row, i].Formula = "SUM(" + ColumnAdress(i + 1) + "8:" + ColumnAdress(i + 1) + row.ToString() + ")";
|
||||||
fpSpread1.Sheets[0].Cells[row, i].BackColor = Color.LightGray;
|
fpSpread1.Sheets[0].Cells[row, i].BackColor = Color.LightGray;
|
||||||
|
|
||||||
fpSpread1.Sheets[0].Cells[row, i].CellType = numberCellType1;
|
fpSpread1.Sheets[0].Cells[row, i].CellType = numberCellType1;
|
||||||
@@ -333,9 +374,43 @@ namespace FPJ0000.JobReport_
|
|||||||
fpSpread1.Sheets[0].Cells[row, i].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
fpSpread1.Sheets[0].Cells[row, i].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 83].CellType = numberCellType1;
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 83].ParseFormatString = "N1";
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 83].Formula = string.Format("SUM(C{0}:CD{0})+CE{0}", row + 1);
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 83].BackColor = Color.Gold;
|
||||||
|
|
||||||
|
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 83].Border = new ComplexBorder(left, top, right, bottom);
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 83].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 83].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 84].Border = new ComplexBorder(left, top, right, bottom);
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 84].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 84].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||||
|
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 85].Border = new ComplexBorder(left, top, right, bottom);
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 85].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||||
|
fpSpread1.Sheets[0].Cells[row, 85].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||||
|
|
||||||
|
|
||||||
this.fpSpread1.Sheets[0].RowCount = row + 1;
|
this.fpSpread1.Sheets[0].RowCount = row + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string ColumnAdress(int col)
|
||||||
|
{
|
||||||
|
if (col <= 26)
|
||||||
|
{
|
||||||
|
return Convert.ToChar(col + 64).ToString();
|
||||||
|
}
|
||||||
|
int div = col / 26;
|
||||||
|
int mod = col % 26;
|
||||||
|
if (mod == 0) { mod = 26; div--; }
|
||||||
|
return ColumnAdress(div) + ColumnAdress(mod);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void tbProcess_SelectedIndexChanged(object sender, EventArgs e)
|
private void tbProcess_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (binit == false) return;
|
if (binit == false) return;
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user