LabWindowsCVI : 저장 엑셀 Caton 문제 해결에 대한 제어 테이블의 데이터 수 (rpm)

다음 파일 작업을 사용, 너무 많은 데이터 (특히 백만 이상의 행을 테이블 컨트롤 약간의 최대 수는 기억하지) 경우, Caton 문제에 저장 나타납니다 응답하지 않을 경우 당신의 엑셀에 대한 제어 테이블의 데이터를 저장하고, : XLS 또는 TXT와 같이 저장된 데이터 테이블은, 상기 문제가 발생하지 않는, 신속하게 찾을
코드 엑셀 직접 저장 1)를 다음과 같이
 역방향 (STRs, mydata을 행); // A1을 : 광고 ZZ 수  
 Excel_NewApp (NULL ,. 1, LOCALE_NEUTRAL, 0, ExcelAppHandle). //이 새로운 새로운 응용 프로그램 개체를 만들고 개체에 대한 핸들을 얻을
 Excel_GetProperty (ExcelAppHandle, NULL, Excel_AppWorkbooks, CAVT_OBJHANDLE, ExcelWorkbooksHandle)
 Excel_WorkbooksAdd (ExcelWorkbooksHandle, NULL, CA_DEFAULT_VAL & ExcelWorkbookHandle)
 Excel_GetProperty (ExcelAppHandle, NULL, Excel_AppSheets, CAVT_OBJHANDLE, ExcelSheetsHandle)
 Excel_SheetsItem (ExcelSheetsHandle, NULL, CA_VariantInt (1.), ExcelWorksheetHandle);
 Excel_WorksheetActivate (ExcelWorksheetHandle, NULL); // strs >> = A1 :列数(列标识ZZ)行数  
 ExcelRpt_WriteDataFromTableControl (ExcelWorksheetHandle, strs, hTablePanel, TABLE_DISTABLE); 제어 테이블에서 // 기록 데이터
 ExcelRpt_WorkbookSave (ExcelWorkbookHandle, sheetSavePath, ExRConst_DefaultFileFormat); // ExRConst_Excel2 ExRConst_DefaultFileFormat
 Excel_AppQuit (ExcelAppHandle, NULL);
 CA_DiscardObjHandle (ExcelAppHandle);
 CA_DiscardObjHandle (ExcelWorkbooksHandle);
 CA_DiscardObjHandle (ExcelWorkbookHandle);
 CA_DiscardObjHandle (ExcelSheetsHandle);
 CA_DiscardObjHandle (ExcelWorksheetHandle);
123,456,789,101,112,131,415
2)使用文件读写的方式保存:
 INT numberOfColumns;
 INT 행;
 double 값;
 난, J int로,
 INT의 AttributeValue,
12345
 GetProjectDir (ExcelFileName를); // 얻을 현재 디렉토리 이름 프로젝트
 MakePathname (ExcelFileName, "DataCache.xls", ExcelFileName); // exce의 저장 파일 이름 설정
 
 파일을 * FPS = NULL;
 FPS = fopen은 (ExcelFileName, "W");
 GetNumTableColumns (panelHandle, 된 controlID, NumberOfColumns) 컬럼의 // 수
 GetNumTableRows (panelHandle, 된 controlID, 행 ); // 행수
 대 (J = 1,. J <= NumberOfColumns, J ++)
 {
  GetTableCellVal (panelHandle, 된 controlID, MakePoint (j , 1), table_title [J]) // table_title의 이름 얻기
  는 fprintf (FPS, "% S \ T"table_title [J])
 }
 는 fprintf (FPS "\ N-")를 ;
 에 대한이 (I = 2; I <= [행; I ++)
 {
  (J = 1,. J <= NumberOfColumns;J ++)
  {
   GetTableCellAttribute (panelHandle, 된 controlID, MakePoint (J, I), ATTR_CELL_TYPE,의 AttributeValue)
   IF (의 AttributeValue == 0)
   {
    GetTableCellVal (panelHandle, 된 controlID, MakePoint (J, I), 값); // 데이터 얻을
    수 (fps는 fprintf을 "% 르 \ T"값)
   }
   fprintf와 다른 (FPS, \ "T")
  }
  는 fprintf (FPS) "\ N- ',
  J = 1,.
 }
 FCLOSE (FPS)
------- ---------
면책 조항 :이 문서는 CSDN 블로거 "깨진 개념 HK"원래 문서에 의해-SA 저작권 계약, 원본 소스 링크이 문을 첨부 해주십시오되는 재생 CC 4.0에 따라입니다.
원본 링크 : HTTPS : //blog.csdn.net/qq_26682769/article/details/92978639

추천

출처www.cnblogs.com/xihong2014/p/12348512.html