Hi! When I save my list control data from excel. But when I push the open button.
I cannot open my save file.
Plz check me my codes and give advices. Thanks (^_^_)
My problem part is this.
CXLEzAutomation XL(false);
CString szFileName = DataRead.GetPathName();
strThisPath.Format("%s\\%s.xls",save_path,szFileName);
if(!SetCurrentDirectory(strThisPath))
{
if(szFileName.IsEmpty())
return;
if(!XL.OpenExcelFile(szFileName))
{
m_cList.DeleteAllItems();
CString address, field, value;
for(int i=1; ; i++)
{
address=XL.GetCellValue(1,i+1);
field=XL.GetCellValue(2,i+1);
value=XL.GetCellValue(3,i+1);
if ( address == "")
break;
m_cList.InsertItem(i-1,address);
m_cList.SetItemText(i-1,1,field);
m_cList.SetItemText(i-1,2,value);
}
void CFormThird::OnXlSave()
{
int mrowNum, mcolNum;
int rowNum = 1;
int colNum = 1;
char temp [10];
CString m_SFileName;
CXLEzAutomation XL(FALSE);
m_SFileName ="MODBUS DATA FILE";
XL.SetCellValue(colNum++, 1, "Address");
XL.SetCellValue(colNum++, 1, "Field");
XL.SetCellValue(colNum++, 1, "Value");
rowNum= m_cList.GetItemCount();
colNum = 3;
for (mrowNum=0; mrowNum<rowNum ; mrowNum++)
{
for(mcolNum=0; mcolNum<colNum; mcolNum++)
{
CString mText;
mText = m_cList.GetItemText(mrowNum,mcolNum);
XL.SetCellValue(mcolNum+1,mrowNum+2,mText); }
}
char Filter[] = "Excel File(*.xls) |*.xls| ALL FILES(*.*) |*.*|";
CFileDialog DataWrite(FALSE, "Excel File(*.xls)", "*.xls", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, Filter, NULL);
if(DataWrite.DoModal() == IDOK)
{
XL.SaveFileAs(DataWrite.GetPathName());
}XL.ReleaseExcel();
}
void CFormThird::OnXlOpen()
{
char Filter[] = "Excel File(*.xls) |*.xls| ALL FILES(*.*) |*.*|";
CFileDialog DataRead(TRUE, "xls", NULL,
OFN_PATHMUSTEXIST|OFN_OVERWRITEPROMPT,
Filter,
NULL);
char save_path[MAX_PATH];
GetCurrentDirectory(MAX_PATH,save_path);
UpdateData(TRUE);
CString strThisPath;
GetModuleFileName( NULL, save_path, _MAX_PATH);
CXLEzAutomation XL(false);
CString szFileName = DataRead.GetPathName();
strThisPath.Format("%s\\%s.xls",save_path,szFileName);
if(!SetCurrentDirectory(strThisPath))
{
if(szFileName.IsEmpty())
return;
if(!XL.OpenExcelFile(szFileName))
{
m_cList.DeleteAllItems();
CString address, field, value;
for(int i=1; ; i++)
{
address=XL.GetCellValue(1,i+1);
field=XL.GetCellValue(2,i+1);
value=XL.GetCellValue(3,i+1);
if ( address == "")
break;
m_cList.InsertItem(i-1,address);
m_cList.SetItemText(i-1,1,field);
m_cList.SetItemText(i-1,2,value);
}
XL.ReleaseExcel();
}