Ladda in library C++ från GitHub in CodeBlocks
Jag har precis börjat med C++ (har tidigare jobbat i VB, C#, R, MatLab ect, så är ny med språket - men inte med programmering).
Det första jag behöver göra är att läsa in en Excel-fil i C++ på något sätt. För att komma igång med detta testade jag att ladda hem detta från GitHub: https://github.com/troldal/OpenXLSX
Problemet är bara att jag inte riktigt förstår hur jag ska kunna använda det i C++. Jag testade exempelkoden nedan, men när jag bygger ihop programmet fastnar den på
//#include <OpenXLSX/OpenXLSX.h>
. Frågan är alltså hur jag "importerar"/laddar in ett library till C++? Jag har såklart googlat - men ändå inte fattat hur det går till och fått det att funka. Kan någon hjälpa mig och förklara? Förmodligen basic, men efter ett par timmar med dumstruten på känner jag att jag skulle behöva lite hjälp...
Jag använder just nu CodeBlocks för att knacka kod i.
------
#include <iostream>
#include <iomanip>
#include <OpenXLSX/OpenXLSX.h>
using namespace std;
using namespace OpenXLSX;
/*
* TODO: Sheet iterator
* TODO: Handling of named ranges
* TODO: Column/Row iterators
* TODO: correct copy/move operations for all classes
* TODO: Find a way to handle overwriting of shared formulas.
* TODO: Handling of Cell formatting
* TODO: Handle chartsheets
* TODO: Update formulas when changing Sheet Name.
* TODO: Get vector for a Row or Column.
* TODO: Conditional formatting
*/
int main() {
XLDocument doc;
doc.CreateDocument("./MyTest.xlsx");
auto wks = doc.Workbook().Worksheet("Sheet1");
wks.Cell("A1").Value() = 3.14159;
wks.Cell("B1").Value() = 42;
wks.Cell("C1").Value() = "Hello OpenXLSX!";
wks.Cell("D1").Value() = true;
wks.Cell("E1").Value() = wks.Cell("C1").Value();
auto A1 = wks.Cell("A1").Value().Get<double>();
auto B1 = wks.Cell("B1").Value().Get<unsigned int>();
auto C1 = wks.Cell("C1").Value().Get<std::string>();
auto D1 = wks.Cell("D1").Value().Get<bool>();
auto E1 = wks.Cell("E1").Value().Get<std::string>();
auto val = wks.Cell("E1").Value();
cout << val.Get<std::string>() << endl;
cout << "Cell A1: " << A1 << endl;
cout << "Cell B1: " << B1 << endl;
cout << "Cell C1: " << C1 << endl;
cout << "Cell D1: " << D1 << endl;
cout << "Cell E1: " << E1 << endl;
doc.SaveDocument();
return 0;
}