Get one single range's data.
BOOL GetRange( int nIndex, int & r1, int & c1, int & r2, int & c2, Datasheet & ds, string * pstrName = NULL )const
BOOL GetRange( Datasheet & ds, int & c1, int & c2, int nIndex = 0 )
int GetRange( LPCTSTR lpcszName, int & r1, int & c1, int & r2, int & c2, Datasheet & ds )const
Returns TRUE for success or FALSE for failure
Returns TRUE for success or FALSE for failure
Returns the index of the subrange if successful else returns -1
EX1
//This example will output the min and max value of the X,Y column. void DataRange_GetRange_Ex1(int nCol1 = 0, int nCol2 = 1) { Worksheet wks; wks.Create(); if( wks ) { while(wks.Columns(0)) wks.DeleteCol(0); wks.AddCol("A"); wks.AddCol("B"); string strX,strY; strX="A"; strY="B"; double rr; for(int j=0;j<2;j++) { for (int i=0;i<10;i++) { rr=rnd(); wks.SetCell(i,j,rr*100); } } DataRange dr; dr.Add("X", wks, 0, nCol1, -1, nCol1); dr.Add("Y", wks, 0, nCol2, -1, nCol2); vector vData; DWORD dwPlotID; int ii, r1, c1, r2, c2; Worksheet MyWks; string strRange; double dmin, dmax; ii = dr.GetData(DRR_NO_FACTORS, 0, &dwPlotID, NULL, &vData); dr.GetRange(0, r1, c1, r2, c2, MyWks, &strRange); vData.GetMinMax(dmin, dmax); printf("\nRange '%s': [%s]%s r1 = %d c1 = %d r2 = %d c2 = %d\nmin = %g max = %g\n", strRange, MyWks.GetPage().GetName(), MyWks.GetName(), r1, c1, r2, c2, dmin, dmax); ii = dr.GetData(DRR_NO_FACTORS| DRR_GET_DEPENDENT, 0, &dwPlotID, NULL, &vData); dr.GetRange(1, r1, c1, r2, c2, MyWks, &strRange); vData.GetMinMax(dmin, dmax); printf("\nRange '%s': [%s]%s r1 = %d c1 = %d r2 = %d c2 = %d\nmin = %g max = %g\n", strRange, MyWks.GetPage().GetName(), MyWks.GetName(), r1, c1, r2, c2, dmin, dmax); } }
EX2
//This example will output the min and max value of the X,Y column. void DataRange_GetRange_Ex2(int nCol1 = 0, int nCol2 = 1) { Worksheet wks ; wks.Create(); if( wks ) { while(wks.Columns(0)) wks.DeleteCol(0); wks.AddCol("A"); wks.AddCol("B"); double rr; for(int j=0;j<2;j++) { for (int i=0;i<10;i++) { rr=rnd(); wks.SetCell(i,j,rr*100); } } DataRange dr; dr.Add("X", wks, 0, nCol1, -1, nCol1); dr.Add("Y", wks, 0, nCol2, -1, nCol2); vector vData; DWORD dwPlotID; int ii, r1, c1, r2, c2; Worksheet MyWks; string strRange; double dmin, dmax; ii = dr.GetData(DRR_NO_FACTORS, 0, &dwPlotID, NULL, &vData); strRange = "X"; dr.GetRange(strRange, r1, c1, r2, c2, MyWks); vData.GetMinMax(dmin, dmax); printf("\nRange '%s': [%s]%s r1 = %d c1 = %d r2 = %d c2 = %d\nmin = %g max = %g\n", strRange, MyWks.GetPage().GetName(), MyWks.GetName(), r1, c1, r2, c2, dmin, dmax); ii = dr.GetData(DRR_NO_FACTORS| DRR_GET_DEPENDENT, 0, &dwPlotID, NULL, &vData); strRange = "Y"; dr.GetRange(strRange, r1, c1, r2, c2, MyWks); vData.GetMinMax(dmin, dmax); printf("\nRange '%s': [%s]%s r1 = %d c1 = %d r2 = %d c2 = %d\nmin = %g max = %g\n", strRange, MyWks.GetPage().GetName(), MyWks.GetName(), r1, c1, r2, c2, dmin, dmax); } }
EX3
//Output the datarange's beginning column index and ending column index. DataRange_GetRange_Ex2() { //Create a worsheet and add two columns. Worksheet wks; wks.Create(); wks.AddCol(); wks.AddCol(); //Create a datarange with two subranges. DataRange dr; int nCol1 = 0; int nCol2 = 1;; dr.Add("Range1", wks, 0, nCol1, -1, nCol2); nCol1 = 2; nCol2 = 3; dr.Add("Range2", wks, 0, nCol1, -1, nCol2); int c1, c2; dr.GetRange(wks, c1, c2, 0); //output the first subrange's beginning column and ending column index. printf("Range1: [%s]%s c1 = %d c2 = %d\n", wks.GetPage().GetName(), wks.GetName(), c1, c2); dr.GetRange(wks, c1, c2, 1); //output the second subrange's beginning column and ending column index. printf("Range2: [%s]%s c1 = %d c2 = %d\n", wks.GetPage().GetName(), wks.GetName(), c1, c2); }
origin.h