亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cspreadsheet.h

?? VC++控制儀表的實例
?? H
字號:
// Class to read and write to Excel and text delimited spreadsheet
//
// Created by Yap Chun Wei
// December 2001
// 
// Version 1.1
// Updates: Fix bug in ReadRow() which prevent reading of single column spreadsheet
// Modified by jingzhou xu

#ifndef CSPREADSHEET_H
#define CSPREADSHEET_H

#include <odbcinst.h>
#include <afxdb.h>

class CSpreadSheet
{
public:
	CSpreadSheet(CString File, CString SheetOrSeparator, bool Backup = true); // Open spreadsheet for reading and writing
	~CSpreadSheet(); // Perform some cleanup functions
	bool AddHeaders(CStringArray &FieldNames, bool replace = false); // Add header row to spreadsheet
	bool DeleteSheet(); // Clear text delimited file content
	bool DeleteSheet(CString SheetName); // Clear entire Excel spreadsheet content. The sheet itself is not deleted
	bool AddRow(CStringArray &RowValues, long row = 0, bool replace = false); // Insert or replace a row into spreadsheet. Default is add new row. 
	bool AddCell(CString CellValue, CString column, long row = 0, bool Auto = true); // Replace or add a cell into Excel spreadsheet using header row or column alphabet. Default is add cell into new row. Set Auto to false if want to force column to be used as header name
	bool AddCell(CString CellValue, short column, long row = 0); // Replace or add a cell into spreadsheet using column number. Default is add cell into new row. 
	bool ReplaceRows(CStringArray &NewRowValues, CStringArray &OldRowValues); // Search and replace rows in Excel spreadsheet
	bool ReadRow(CStringArray &RowValues, long row = 0); // Read a row from spreadsheet. Default is read the next row
	bool ReadColumn(CStringArray &ColumnValues, CString column, bool Auto = true); // Read a column from Excel spreadsheet using header row or column alphabet. Set Auto to false if want to force column to be used as header name
	bool ReadColumn(CStringArray &ColumnValues, short column); // Read a column from spreadsheet using column number
	bool ReadCell (CString &CellValue, CString column, long row = 0, bool Auto = true); // Read a cell from Excel spreadsheet using header row or column alphabet. Default is read the next cell in next row. Set Auto to false if want to force column to be used as header name
	bool ReadCell (CString &CellValue, short column, long row = 0); // Read a cell from spreadsheet using column number. Default is read the next cell in next row.
	void BeginTransaction(); // Begin transaction
	bool Commit(); // Save changes to spreadsheet
	bool RollBack(); // Undo changes to spreadsheet
	bool Convert(CString SheetOrSeparator);
	inline void GetFieldNames (CStringArray &FieldNames) {FieldNames.RemoveAll(); FieldNames.Copy(m_aFieldNames);} // Get the header row from spreadsheet
	inline long GetTotalRows() {return m_dTotalRows;} // Get total number of rows in  spreadsheet
	inline short GetTotalColumns() {return m_dTotalColumns;} // Get total number of columns in  spreadsheet
	inline long GetCurrentRow() {return m_dCurrentRow;} // Get the currently selected row in  spreadsheet
	inline bool GetBackupStatus() {return m_bBackup;} // Get status of backup. True if backup is successful, False if spreadsheet is not backup
	inline bool GetTransactionStatus() {return m_bTransaction;} // Get status of Transaction. True if Transaction is started, False if Transaction is not started or has error in starting
	inline CString GetLastError() {return m_sLastError;} // Get last error message

private:
	bool Open(); // Open a text delimited file for reading or writing
	void GetExcelDriver(); // Get the name of the Excel-ODBC driver
	short CalculateColumnNumber(CString column, bool Auto); // Convert Excel column in alphabet into column number

	bool m_bAppend; // Internal flag to denote newly created spreadsheet or previously created spreadsheet
	bool m_bBackup; // Internal flag to denote status of Backup
	bool m_bExcel; // Internal flag to denote whether file is Excel spreadsheet or text delimited spreadsheet
	bool m_bTransaction; // Internal flag to denote status of Transaction

	long m_dCurrentRow; // Index of current row, starting from 1
	long m_dTotalRows; // Total number of rows in spreadsheet
	short m_dTotalColumns; // Total number of columns in Excel spreadsheet. Largest number of columns in text delimited spreadsheet

	CString m_sSql; // SQL statement to open Excel spreadsheet for reading
	CString m_sDsn; // DSN string to open Excel spreadsheet for reading and writing
	CString m_stempSql; // Temporary string for SQL statements or for use by functions
	CString m_stempString; // Temporary string for use by functions
	CString m_sSheetName; // Sheet name of Excel spreadsheet
	CString m_sExcelDriver; // Name of Excel Driver
	CString m_sFile; // Spreadsheet file name
	CString m_sSeparator; // Separator in text delimited spreadsheet
	CString m_sLastError; // Last error message

	CStringArray m_atempArray; // Temporary array for use by functions
	CStringArray m_aFieldNames; // Header row in spreadsheet
	CStringArray m_aRows; // Content of all the rows in spreadsheet

	CDatabase *m_Database; // Database variable for Excel spreadsheet
	CRecordset *m_rSheet; // Recordset for Excel spreadsheet
};

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩激情一区二区| 亚州成人在线电影| 日韩欧美国产一二三区| 欧美日韩国产片| 欧美高清视频在线高清观看mv色露露十八| 91久久奴性调教| 在线观看日产精品| 91精品欧美综合在线观看最新| 色婷婷国产精品综合在线观看| 色94色欧美sute亚洲线路一ni| 91免费精品国自产拍在线不卡| av中文字幕一区| 欧美系列亚洲系列| 欧美电影免费观看高清完整版 | 丁香婷婷综合五月| 岛国精品在线观看| 在线一区二区三区| 91精品国产91热久久久做人人 | 亚洲欧美一区二区久久| 亚洲美女精品一区| 日本美女一区二区三区| 国产乱码一区二区三区| 成人精品亚洲人成在线| 欧美日韩中文字幕一区| 欧美成人a∨高清免费观看| 国产欧美精品一区二区色综合| 国产精品久久久久久久浪潮网站| 亚洲成人av福利| 国产成人无遮挡在线视频| 色婷婷久久久亚洲一区二区三区| 91精品国产免费| 国产精品第13页| 六月丁香综合在线视频| 99久久伊人网影院| 日韩视频在线观看一区二区| 欧美激情一区二区三区在线| 天堂蜜桃91精品| 成人av第一页| 久久久亚洲精品一区二区三区| 一区二区三区久久| 国产激情精品久久久第一区二区 | 黄色成人免费在线| 91福利视频久久久久| 国产亚洲va综合人人澡精品| 亚洲国产精品一区二区www| 精东粉嫩av免费一区二区三区| 色88888久久久久久影院野外| 精品剧情在线观看| 日本视频一区二区三区| 欧美性大战久久久| 亚洲视频免费观看| 成人动漫一区二区| 26uuu欧美| 日本不卡在线视频| 在线电影院国产精品| 亚洲激情自拍偷拍| 99久久精品国产一区二区三区| 精品国一区二区三区| 亚洲第一激情av| 在线免费观看成人短视频| 国产精品色噜噜| 国产露脸91国语对白| 日韩欧美一级精品久久| 偷拍日韩校园综合在线| 欧美三级电影网| 亚洲一区二区三区免费视频| 99久久久精品| 国产精品久久久久久亚洲毛片 | 成人久久视频在线观看| 久久久久久久久久久久久久久99| 婷婷丁香激情综合| 欧美一区二区三区免费在线看 | 91偷拍与自偷拍精品| 欧美激情在线看| 成人黄色在线看| 国产精品第五页| 91福利在线免费观看| 亚洲一区二区三区在线看| 91福利社在线观看| 日日夜夜精品视频天天综合网| 欧美日韩一区在线观看| 午夜欧美大尺度福利影院在线看 | 国产一区二区三区精品视频| 日韩欧美中文字幕精品| 国产美女主播视频一区| 中文字幕精品一区二区精品绿巨人| 国产成人精品三级| 日韩毛片高清在线播放| 欧美亚洲综合久久| 捆绑调教一区二区三区| 国产香蕉久久精品综合网| 99久久国产免费看| 亚洲伊人色欲综合网| 欧美高清www午色夜在线视频| 日本大胆欧美人术艺术动态| 亚洲精品一线二线三线| 成人黄色片在线观看| 亚洲自拍与偷拍| 日韩色在线观看| 成人免费高清在线| 亚洲一区二区三区中文字幕| 日韩午夜av一区| 不卡的av电影| 日韩成人精品视频| 国产精品污www在线观看| 欧美视频日韩视频在线观看| 免费人成在线不卡| 自拍偷拍亚洲激情| 欧美一区二区高清| 91女人视频在线观看| 免费av网站大全久久| 欧美高清在线精品一区| 91精品中文字幕一区二区三区| 国产精品1024| 日本美女一区二区三区| 亚洲精品免费在线观看| 久久亚洲二区三区| 欧美男同性恋视频网站| 粉嫩久久99精品久久久久久夜| 爽爽淫人综合网网站| 中文字幕在线不卡视频| 欧美电影免费观看高清完整版| av成人免费在线| 国产精品一二一区| 日本午夜一本久久久综合| 一区二区三区日韩欧美| 国产欧美综合在线| 337p粉嫩大胆色噜噜噜噜亚洲| 色噜噜狠狠成人网p站| 粉嫩高潮美女一区二区三区| 免费看欧美美女黄的网站| 亚洲综合一区二区| 亚洲欧美国产77777| 国产视频一区二区在线| 日韩欧美精品在线视频| 欧美日韩一区二区在线视频| av网站免费线看精品| 国产黄人亚洲片| 国产高清精品久久久久| 免费欧美在线视频| 日韩福利视频网| 天堂成人国产精品一区| 一区二区成人在线| 一区二区三区在线免费视频| 中文字幕第一区二区| 国产欧美精品在线观看| 日本一区二区视频在线| 久久久久久久网| 久久九九久久九九| 久久久美女毛片| 国产亚洲一区二区三区在线观看 | 午夜视频在线观看一区二区三区| 亚洲日本在线观看| 一区二区在线观看视频| 亚洲一线二线三线视频| 亚洲精品你懂的| 亚洲综合在线视频| 亚洲成精国产精品女| 丝袜亚洲另类欧美综合| 青青草视频一区| 极品少妇xxxx偷拍精品少妇| 国内精品国产三级国产a久久| 国产在线国偷精品产拍免费yy| 久久不见久久见中文字幕免费| 九色|91porny| 丁香天五香天堂综合| 成人国产电影网| 欧美亚洲一区二区在线| 91精品国模一区二区三区| 精品福利在线导航| 欧美国产禁国产网站cc| 亚洲在线视频一区| 免费成人在线视频观看| 从欧美一区二区三区| 91激情五月电影| 日韩欧美自拍偷拍| 综合久久一区二区三区| 石原莉奈在线亚洲三区| 国产成人精品亚洲777人妖| 91在线国产观看| 欧美一级久久久| 中文字幕第一区综合| 午夜免费欧美电影| 高清免费成人av| 欧美另类z0zxhd电影| 精品久久99ma| 亚洲国产精品久久一线不卡| 久久精品国产久精国产| 99久精品国产| 日韩欧美亚洲另类制服综合在线| 亚洲国产高清在线| 天堂av在线一区| 不卡的av网站| 久久久久久久一区| 丝袜美腿亚洲综合| 色女孩综合影院| 久久精品人人做人人综合| 亚洲图片欧美一区| 波多野结衣中文一区| 日韩一区二区三区视频在线观看|