判斷下一個NO,和目前的NO,是否相同。
如果不同時,就新增一空白列。
我該怎麼抓取目前的NO與下一個NO的值?
需要再加一欄排序用排序放式抓NO嗎?
貼Write到Excel的Code,來看一下
你用C# 寫入到Excel,是跑迴圈去寫入嗎?
這樣你本來就可以拿到NO,只是在迴圈中作判斷處理空白列就好
allenlwh
int x = 0;
foreach (DataRow dr in dt.Rows)
{
x = x + 1 ;
string No = !String.IsNullOrEmpty(dr["No"].ToString()) ? dr["No"].ToString() : "";
string Name = !String.IsNullOrEmpty(dr["Name"].ToString()) ? dr["Name"].ToString() : "";
u_Sheet.GetRow(x).GetCell(0).SetCellValue(No);
u_Sheet.GetRow(x).GetCell(0).SetCellValue(Name);
}
我是用這方式寫入EXCEL
w4560000
是的,我可以在上面貼的程式碼中取的所有No欄位與Name的數值,但是我卡著一個盲點是我不知道該怎麼取出目前的NO跟下一個NO去做比對
那就換個方向,等取出來後再跟上一個做比較。
//預設oldNo,從1開始 Begin
string oldNo="1";
//預設oldNo,從1開始 End
{
x = x + 1 ;
string No = !String.IsNullOrEmpty(dr["No"].ToString()) ? dr["No"].ToString() : "";
string Name = !String.IsNullOrEmpty(dr["Name"].ToString()) ? dr["Name"].ToString() : "";
//當下一個No要SetCellValue之前,再來處理 Begin
if (oldNo !=No)
{
x = x + 1 ;
}
//當下一個No要SetCellValue之前,再來處理 End
u_Sheet.GetRow(x).GetCell(0).SetCellValue(No);
u_Sheet.GetRow(x).GetCell(0).SetCellValue(Name);
oldNo=No;
}
allenlwh
感謝大大給我方向,因為您的幫助我已經解決這問題了~感謝!!