資源簡介
Visual Studio 2013開發(fā)MFC程序,逐行讀取TXT文件的內容,重新寫入Excel文件。

代碼片段和文件信息
#include?“stdafx.h“
#include?“Excel2010Helper.h“
CExcel2010Helper::CExcel2010Helper()
{
//?初始化COM庫
CoInitialize(NULL);
}
CExcel2010Helper::~CExcel2010Helper()
{
//?關閉COM庫
CoUninitialize();
}
BOOL?CExcel2010Helper::CreateExcelApplication()
{
//創(chuàng)建Excel服務
if?(!m_oExcelApp.CreateDispatch(TEXT(“Excel.Application“)?NULL))
{
return?FALSE;
}
COleVariant?covOptional(DISP_E_PARAMNOTFOUND?VT_ERROR);
//?打開工作薄
m_oWorkBooks.AttachDispatch(m_oExcelApp.get_Workbooks()?TRUE);
m_oWorkBook.AttachDispatch(m_oWorkBooks.Add(covOptional)?TRUE);
//?打開第一個工作表
covOptional?=?(short)1;
m_oWorkSheets.AttachDispatch(m_oWorkBook.get_Worksheets()?TRUE);
m_oWorkSheet.AttachDispatch(m_oWorkSheets.get_Item(covOptional)?TRUE);
return?TRUE;
}
void?CExcel2010Helper::DestroyExcelApplication()
{
//?釋放對象
m_oCurrRange.ReleaseDispatch();
m_oWorkSheet.ReleaseDispatch();
m_oWorkSheets.ReleaseDispatch();
m_oWorkBook.ReleaseDispatch();
m_oWorkBooks.ReleaseDispatch();
//?Quit必須在m_ExlApp釋放之前,否則程序結束后還會有一個Excel進程駐留在內存中,而且程序重復運行的時候會出錯
m_oExcelApp.Quit();
m_oExcelApp.ReleaseDispatch();
}
void?CExcel2010Helper::SetCellText(_tstring?cellPos?_tstring?cellText)
{
//獲取單元格區(qū)域
m_oCurrRange.AttachDispatch(m_oWorkSheet.get_Range(COleVariant(cellPos.c_str())
COleVariant(cellPos.c_str())));
m_oCurrRange.put_Value2(COleVariant(cellText.c_str()));
}
void?CExcel2010Helper::SetCellBackgroundColor(_tstring?cellStart?_tstring?cellEnd?long?color)
{
Cnterior?oInterior;
//獲取單元格區(qū)域
m_oCurrRange.AttachDispatch(m_oWorkSheet.get_Range(COleVariant(cellStart.c_str())
COleVariant(cellEnd.c_str())));
//設置單元格背景色
oInterior.AttachDispatch(m_oCurrRange.get_Interior()?TRUE);
oInterior.put_Color(COleVariant(color));
oInterior.ReleaseDispatch();
}
void?CExcel2010Helper::SetCellFontFormat(_tstring?cellStart?_tstring?cellEnd
?long?size?bool?bold?long?color)
{
CFont0?oFont;
//獲取單元格區(qū)域
m_oCurrRange.AttachDispatch(m_oWorkSheet.get_Range(COleVariant(cellStart.c_str())
COleVariant(cellEnd.c_str())));
oFont.AttachDispatch(m_oCurrRange.get_Font());
//?設置字體是否粗體
oFont.put_Bold(COleVariant((short)bold));
//?設置字體大小
oFont.put_Size(COleVariant(size));
//?設置字體顏色
oFont.put_Color(COleVariant(color));
oFont.ReleaseDispatch();
}
void?CExcel2010Helper::SetCellBorderAround(_tstring?cellStart?_tstring?cellEnd?XlLinestyle?linestyle
?XlBorderWeight?borderWeight?long?color)
{
COleVariant?covOptional((long)DISP_E_PARAMNOTFOUND?VT_ERROR);
//獲取單元格區(qū)域
m_oCurrRange.AttachDispatch(m_oWorkSheet.get_Range(COleVariant(cellStart.c_str())
COleVariant(cellEnd.c_str())));
//設置外邊框
m_oCurrRange.BorderAround(COleVariant((long)linestyle)?borderWeight?xlColorIndexAutomatic
?COleVariant(color)?covOptional);
}
void?CExcel2010Helper::SetColumnAutoFit()
{
//?獲得使用的區(qū)域Range
m_oCurrRange.AttachDispatch(m_oWorkSheet.get_UsedRange()?TRUE);
m_oCurrRange
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-10-17?17:51??LogTxtToExcel\
?????目錄???????????0??2015-10-17?17:51??LogTxtToExcel\Debug\
?????文件?????????985??2015-10-14?09:16??LogTxtToExcel\Debug\AlarmTransmit_receive_20150930.log
?????文件?????????985??2015-10-14?09:16??LogTxtToExcel\Debug\AlarmTransmit_receive_20150931.log
?????文件?????????165??2015-10-16?18:27??LogTxtToExcel\Debug\~$AlarmTransmit_receive_20150930.xlsx
?????目錄???????????0??2015-10-17?17:51??LogTxtToExcel\LogTxtToExcel\
?????文件???????79655??2015-10-15?17:09??LogTxtToExcel\LogTxtToExcel\CApplication.h
?????文件????????3806??2015-10-15?16:55??LogTxtToExcel\LogTxtToExcel\CBorders.h
?????文件????????6208??2015-10-15?16:55??LogTxtToExcel\LogTxtToExcel\CFont0.h
?????文件???????45487??2015-10-15?17:05??LogTxtToExcel\LogTxtToExcel\CRange.h
?????文件???????45364??2015-10-15?17:09??LogTxtToExcel\LogTxtToExcel\CWorkbook.h
?????文件????????7346??2015-10-15?16:55??LogTxtToExcel\LogTxtToExcel\CWorkbooks.h
?????文件???????29258??2015-10-15?16:55??LogTxtToExcel\LogTxtToExcel\CWorksheet.h
?????文件????????4907??2015-10-15?16:55??LogTxtToExcel\LogTxtToExcel\CWorksheets.h
?????文件????????4295??2015-10-15?16:55??LogTxtToExcel\LogTxtToExcel\Cnterior.h
?????文件????????4234??2015-10-17?16:48??LogTxtToExcel\LogTxtToExcel\Excel2010Helper.cpp
?????文件????????3423??2015-10-17?17:50??LogTxtToExcel\LogTxtToExcel\Excel2010Helper.h
?????文件????????2465??2015-10-15?13:47??LogTxtToExcel\LogTxtToExcel\LogTxtToExcel.cpp
?????文件?????????485??2015-10-15?13:47??LogTxtToExcel\LogTxtToExcel\LogTxtToExcel.h
?????文件???????11058??2015-10-16?17:22??LogTxtToExcel\LogTxtToExcel\LogTxtToExcel.rc
?????文件????????6657??2015-10-15?16:55??LogTxtToExcel\LogTxtToExcel\LogTxtToExcel.vcxproj
?????文件????????3111??2015-10-15?16:55??LogTxtToExcel\LogTxtToExcel\LogTxtToExcel.vcxproj.filters
?????文件????????9178??2015-10-17?16:36??LogTxtToExcel\LogTxtToExcel\LogTxtToExcelDlg.cpp
?????文件????????1463??2015-10-16?17:18??LogTxtToExcel\LogTxtToExcel\LogTxtToExcelDlg.h
?????文件????????3975??2015-10-15?13:47??LogTxtToExcel\LogTxtToExcel\ReadMe.txt
?????目錄???????????0??2015-10-16?23:17??LogTxtToExcel\LogTxtToExcel\res\
?????文件???????67777??2013-07-22?01:18??LogTxtToExcel\LogTxtToExcel\res\LogTxtToExcel.ico
?????文件?????????682??2015-10-15?13:47??LogTxtToExcel\LogTxtToExcel\res\LogTxtToExcel.rc2
?????文件????????1612??2015-10-15?13:51??LogTxtToExcel\LogTxtToExcel\resource.h
?????文件?????????146??2015-10-15?13:47??LogTxtToExcel\LogTxtToExcel\stdafx.cpp
?????文件????????1578??2015-10-15?13:47??LogTxtToExcel\LogTxtToExcel\stdafx.h
............此處省略3個文件信息
評論
共有 條評論