-
大小: 7KB文件類型: .rar金幣: 2下載: 0 次發布日期: 2021-06-11
- 語言: 其他
- 標簽: CSpreadSheet??.cpp??.h??
資源簡介
CSpreadSheet類可對文件進行讀寫、修改等操作,并能逐位操作單元格,使用十分方便
注意事項:
使用時記得在StdAfx.h文件中加入
#include
#include
然后手動添加 CSpreadSheet.h 和CSpreadSheet.cpp進該項目工作區(插入、復制/粘貼 或者 直接包含即可)

代碼片段和文件信息
#include?“stdafx.h“
#include?“CSpreadSheet.h“
//?Open?spreadsheet?for?reading?and?writing
CSpreadSheet::CSpreadSheet(CString?File?CString?SheetOrSeparator?bool?Backup)?:
m_Database(NULL)?m_rSheet(NULL)?m_sFile(File)
m_dTotalRows(0)?m_dTotalColumns(0)?m_dCurrentRow(1)
m_bAppend(false)?m_bBackup(Backup)?m_bTransaction(false)
{
//?Detect?whether?file?is?an?Excel?spreadsheet?or?a?text?delimited?file
m_stempString?=?m_sFile.Right(4);
m_stempString.MakeLower();
if?(m_stempString?==?“.xls“)?//?File?is?an?Excel?spreadsheet
{
m_bExcel?=?true;
m_sSheetName?=?SheetOrSeparator;
m_sSeparator?=?“;.?“;
}
else?//?File?is?a?text?delimited?file
{
m_bExcel?=?false;
m_sSeparator?=?SheetOrSeparator;
}
if?(m_bExcel)?//?If?file?is?an?Excel?spreadsheet
{
m_Database?=?new?CDatabase;
GetExcelDriver();
m_sDsn.Format(“DRIVER={%s};DSN=‘‘;FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\“%s\“;DBQ=%s“?m_sExcelDriver?m_sFile?m_sFile);
if?(Open())
{
if?(m_bBackup)
{
if?((m_bBackup)?&&?(m_bAppend))
{
CString?tempSheetName?=?m_sSheetName;
m_sSheetName?=?“CSpreadSheetBackup“;
m_bAppend?=?false;
if?(!Commit())
{
m_bBackup?=?false;
}
m_bAppend?=?true;
m_sSheetName?=?tempSheetName;
m_dCurrentRow?=?1;
}
}
}
}
else?//?if?file?is?a?text?delimited?file
{
if?(Open())
{
if?((m_bBackup)?&&?(m_bAppend))
{
m_stempString?=?m_sFile;
m_stempSql.Format(“%s.bak“?m_sFile);
m_sFile?=?m_stempSql;
if?(!Commit())
{
m_bBackup?=?false;
}
m_sFile?=?m_stempString;
}
}
}
}
//?Perform?some?cleanup?functions
CSpreadSheet::~CSpreadSheet()
{
if?(m_Database?!=?NULL)
{
m_Database->Close();
delete?m_Database;
}
}
//?Add?header?row?to?spreadsheet
bool?CSpreadSheet::AddHeaders(CStringArray?&FieldNames?bool?replace)
{
if?(m_bAppend)?//?Append?to?old?Sheet
{
if?(replace)?//?Replacing?header?row?rather?than?adding?new?columns
{
if?(!AddRow(FieldNames?1?true))
{
return?false;
}
else
{
return?true;
}
}
if?(ReadRow(m_atempArray?1))?//?Add?new?columns
{
if?(m_bExcel)
{
//?Check?for?duplicate?header?row?field
for?(int?i?=?0;?i? {
for?(int?j?=?0;?j? {
if?(FieldNames.GetAt(i)?==?m_atempArray.GetAt(j))
{
m_sLastError.Format(“Duplicate?header?row?field:%s\n“?FieldNames.GetAt(i));
return?false;
}
}
}
}
m_atempArray.Append(FieldNames);
if?(!AddRow(m_atempArray?1?true))
{
m_sLastError?=?“Problems?with?adding?headers\n“;
return?false;
}
//?Update?largest?number?of?columns?if?necessary
if?(m_atempArray.GetSize()?>?m_dTotalColumns)
{
m_dTotalColumns?=?m_atempArray.GetSize();
}
return?true;
}
return?false;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????5251??2010-03-24?17:57??CSpreadSheet.h
?????文件??????28981??2010-03-24?17:57??CSpreadSheet.cpp
-----------?---------??----------?-----??----
????????????????34232????????????????????2
- 上一篇:proteus仿真 電機驅動電路
- 下一篇:arduino多種器件庫
評論
共有 條評論