大家好!最近用VC6.0從flash中下載資料放入Excel中,生成的Excel的單元格中數字都為文本格式(前面帶逗號),如何生成數值格式呢?代碼如下:
void CEvent_dlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
int temp_state,temp_download;
unsigned int n;
CString strtemp_eventnum;
switch(nIDEvent)
{
case 1:
/*事件記錄下載制作excel表格*/
if(Event_Num>0)
{
temp_download=(int)((float)Event_DCunter/(float)Event_Num*100);
m_Progress.SetPos(temp_download);
if(Event_DFinishFlag==1)//事件記錄搬運完畢的標志位
{
temp_download=100;
m_Progress.SetPos(temp_download);
Event_DFinishFlag=0;
KillTimer(1);
// 建立EXCEL表格
CSpreadSheet SS(sExcelFile, "EventDataSheet");
CStringArray sampleArray,testRow;
SS.BeginTransaction();
// 加入標題
sampleArray.RemoveAll();
sampleArray.Add("記錄時間");
sampleArray.Add("FPGA狀態");
sampleArray.Add("數字輸入");
SS.AddHeaders(sampleArray);
temp_series_num=(unsigned int)(Event_DCunter/150);
// 加入資料
for(unsigned int i = 0; i<temp_series_num; i++)
{
// 加入故障條間隔標識
strtemp_eventnum.Format("%d",(i));
Event_SeriesNum[i]="事件記錄系列數(EventFault_series_num) = "+strtemp_eventnum;
sampleArray.RemoveAll();
sampleArray.Add(Event_SeriesNum[i]);
SS.AddRow(sampleArray);
for(unsigned int j=0;j<150;j++)//添加資料
{
n=i*150+j;
sampleArray.RemoveAll();
sampleArray.Add(Timer_event[n]);
sampleArray.Add(SysStatus_event[n]);
sampleArray.Add(LOCALDIN_event[n]);
SS.AddRow(sampleArray);
}
}
SS.Commit();
Event_DCunter=0;
}
} break;
default: break;
}
UpdateData(false);
CDialog::OnTimer(nIDEvent);
}
上面變數定義:CStringArray sampleArray,testRow;
CString Timer_event[4096];
SysStatus_event[4096];
LOCALDIN_event[4096];
麻煩大家幫忙看一下如何修改讓輸出的單元格為數值格式,不勝感激!
uj5u.com熱心網友回復:
生成的Excel的單元格中數字都為文本格式(前面帶逗號),如何生成數值格式呢?Excel 中的數值格式就不能帶逗號
uj5u.com熱心網友回復:
設定對應列的NumberFormat屬性uj5u.com熱心網友回復:
感謝您的回答!如何設定對應列的NumberFormat屬性呢?麻煩您在上面基礎上舉個例子,非常感謝感謝!uj5u.com熱心網友回復:
用VBA的話是Worksheets("Sheet1").Columns(1).NumberFormat="@"轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/7413.html
標籤:數據庫
