C++을 사용하여 Excel 파일을 읽는 프로그램을 작성 중입니다. 필자는 파일의 두 열을 필요로하고 Excel 파일에는 필드가 포함되어 있지 않으며 그래프도 포함되어 있습니다. 10 개의 열이 있고 두 개의 열은 첫 번째와 7 번째입니다. CSV로 변환하지 못했습니다. 어떤 제안 plz.C++ 읽기 데이터 및 그래프가 포함 된 Excel 파일
감사합니다.
C++을 사용하여 Excel 파일을 읽는 프로그램을 작성 중입니다. 필자는 파일의 두 열을 필요로하고 Excel 파일에는 필드가 포함되어 있지 않으며 그래프도 포함되어 있습니다. 10 개의 열이 있고 두 개의 열은 첫 번째와 7 번째입니다. CSV로 변환하지 못했습니다. 어떤 제안 plz.C++ 읽기 데이터 및 그래프가 포함 된 Excel 파일
감사합니다.
파일을 CSV로 저장 한 다음 fopen을 사용하여 CSV 파일을 읽어야합니다. 또한 스스로 숙제를하고 인터넷상의 사람들에게 도움을 요청하지 않아야합니다.
그가 CSV로/CSV로 변환하는 것으로 이미 저장을 시도한 것처럼 보입니다.하지만 작동하지 않는 이유는 밝히지 않았습니다. –
Excel은 COM 인터페이스를 통해 프로그래밍 방식으로 구동 할 수 있습니다. 다음은 일부 코드입니다.
#include <windows.h>
#include <iostream>
#import "C:\Program Files\Common Files\Microsoft Shared\OFFICE11\MSO.DLL" rename("RGB", "MSORGB"), rename("DocumentProperties", "MSODocProps")
#import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB" rename ("Application", "VBApplication")
namespace Excel
{
using namespace Office;
using namespace VBIDE;
}
#import "C:\Program Files\Microsoft Office\OFFICE11\Excel.EXE" \
rename("RGB", "RGB_"), \
rename("CopyFile", "CopyFile_"), \
rename("DialogBox", "DialogBox_"), \
rename("ReplaceText", "ReplaceText_")
int main(int argc, char* argv[])
{
::CoInitialize(NULL);
try
{
Excel::_ApplicationPtr excel("Excel.Application");
Excel::WorkbooksPtr wbs = excel->Workbooks;
Excel::_WorkbookPtr wb = wbs->Open(_bstr_t("c:\\temp\\test.xls"));
Excel::_WorksheetPtr sheet = wb->Sheets->GetItem(1); // First sheet
Excel::RangePtr range = sheet->Cells->GetItem(1, 1); // Row, column
_variant_t value = range->Value;
}
catch(_com_error& e)
{
std::cerr << "0x" << std::hex << e.Error() << std::endl;
}
catch(...)
{
std::cerr << "Unexpected error" << std::endl;
}
::CoUninitialize();
return 0;
}
이 코드는 디스크에서로드 된 스프레드 시트의 A1 셀에있는 값을 가져옵니다. 여기서부터 두 개의 데이터 열을 읽을 수 있어야합니다.
Windows 플랫폼에서 실행하고 있습니까? –