
Load Excel Data Into Matrix


hrodstein
Function LoadExcelNumericDataAsMatrix(pathName, fileName, worksheetName, startCell, endCell) String pathName // Name of Igor symbolic path or "" to get dialog String fileName // Name of file to load or "" to get dialog String worksheetName String startCell // e.g., "B1" String endCell // e.g., "J100" if ((strlen(pathName)==0) || (strlen(fileName)==0)) // Display dialog looking for file. Variable refNum String filters = "Excel Files (*.xls,*.xlsx,*.xlsm):.xls,.xlsx,.xlsm;" filters += "All Files:.*;" Open/D/R/P=$pathName /F=filters refNum as fileName fileName = S_fileName // S_fileName is set by Open/D if (strlen(fileName) == 0) // User cancelled? return -2 endif endif // Load row 1 into numeric waves XLLoadWave/S=worksheetName/R=($startCell,$endCell)/COLT="N"/O/V=0/K=0/Q fileName if (V_flag == 0) return -1 // User cancelled endif String names = S_waveNames // S_waveNames is created by XLLoadWave String nameOut = UniqueName("Matrix", 1, 0) Concatenate /KILL /O names, $nameOut // Create matrix and kill 1D waves Printf "Created numeric matrix wave %s containing cells %s to %s in worksheet \"%s\"\r", nameOut, startCell, endCell, worksheetName return 0 // Success End

Forum

Support

Gallery
Igor Pro 9
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More