스크립팅을 사용하여 데이터 테이블을 Excel로 내보내기안녕하세요, 스크립팅과 일부 자동화를 사용하여 데이터 테이블을 Excel로 내보내는 방법을 배우려고 합니다.
save("")를 사용하여 파일을 저장하라는 "JMP 파일을 다른 이름으로 저장" 창을 엽니다. 매번 변경할 필요가 없도록 *.jmp 대신 *.xls로 "유형으로 저장"을 설정하고 싶습니다. 또한 파일을 저장하기 위해 선택하는 기본 폴더를 설정하고 싶습니다. scipting 명령에서 이 작업을 수행할 수 있습니까? 저는 새로운 사용자이며 간단한 솔루션을 찾고 있습니다. 팁을 주셔서 감사합니다! ~섀넌
Re: 스크립팅을 사용하여 데이터 테이블을 Excel로 내보내기굉장하다! 그러나 기존 파일을 교체할지 여부를 사용자에게 묻는 방법은 무엇입니까?
Re: 스크립팅을 사용하여 데이터 테이블을 Excel로 내보내기안녕하세요,
나는 그것들이 이전 버전에서 생성되었다고 가정하는 거대한 데이터로 오래 전에 생성된 많은 Excel 파일에 문제가 있습니다. 2007년 또는 2003년. 이상한 점은 파일이 95% 컴퓨터에서 작동하지 않는다는 것입니다. 오류 1000 및 Execel.exe와 함께 열을 추가하거나 삭제하면 충돌이 발생합니다.
나는 잘 작동하는 두 가지 방법으로 시도했지만 이것은 내가 필요한 솔루션이 아닙니다. 파일에는 freezpan이 포함되어 있고 잘 작동하는 고정을 해제하거나 새 시트에 시트를 복사하면 freezpan이 활성화된 상태에서도 잘 작동합니다.
수백 개의 파일에서 이 문제를 해결하는 방법은 무엇입니까? 나는이 문제에 갇혀있다.
좋은 Adv에서 감사합니다.
문안 인사
파이살
Re: 스크립팅을 사용하여 데이터 테이블을 Excel로 내보내기이와 같은 것은 .jmp 확장자를 제거하고 .xlsx를 추가합니다. 필터에서 이미 .xlsx 파일을 선택한 경우 아무 작업도 수행하지 않고 파일을 덮어씁니다. JMP는 XLSX를 잘 저장하지만 실제로는 XLS를 잘 저장하지 않는다는 점에 유의하십시오.
dt = 현재 데이터 테이블();
filepath = pickFile("저장할 파일 선택", "c:\", {"Excel Files|xlsx"}, 1, 1);
pos = 포함(파일 경로, ".xlsx");
if (pos == 0, filepath = Left(filepath, pos-1); filepath = 파일 경로 || ".xlsx");
dt << 다른 이름으로 저장(파일 경로, 엑셀 파일);
브라이언 코코란
JMP 개발
Re: 스크립팅을 사용하여 데이터 테이블을 Excel로 내보내기@샤논K ,
네, 맞습니다. 이미 존재하는 파일을 선택하면 확장자가 포함됩니다. 그러나 새 파일인 경우 확장자를 포함해야 합니다.
@Craige_Hales 더 댓글을 달 수 있을까요?
Re: 스크립팅을 사용하여 데이터 테이블을 Excel로 내보내기도와주셔서 감사합니다. 제안하신 저장 코드를 포함시켰는데 "파일을 저장할 수 없습니다. 알 수 없는 데이터 대상입니다."
오류를 해결하려고 시도했지만 실패했습니다. SaveFilePath에 대한 출력을 확인하면 "/C:/Users/jmp/name"과 같이 표시됩니다. 문제에 대한 최선의 추측은 저장 기능이 파일 이름에 ".xlsx"를 추가하지 않는다는 것입니다.
(저는 Windows를 사용하고 있지만 "/C: ..."는 문제가 되지 않는 것 같습니다.)
오류를 올바르게 식별했습니까? 문제를 해결할 수 있는 방법에 대한 의견이 있으십니까?
감사합니다!
섀넌
Re: 스크립팅을 사용하여 데이터 테이블을 Excel로 내보내기안녕 @샤논K ,
따라서 파일 선택 대화 상자는 원하는 경로와 파일 이름을 보호하는 역할만 합니다. 따라서 귀하의 예에서:
의 말을하자:
path = "$DOCUMENTS" // this is shorthand for your "My Documents" folder<BR />
filtereddata = sorteddt << Subset(
(Selected Rows),
Columns(:YEARX, :PSU, :CASEID, :RATWGT, :VEHNO, :OCCNO, :DVTOTAL, :ROLLOVER, :GAD1, :PDOF1, :DOF1, :BODYTYPE, :AGE, :ROLE, :SEATPOS),
Output Table Name(filename)
);
SaveFilePath = Pick File(
"Save Filtered Data",
path,
{"Excel Files|xlsx;xls", "JMP Datatables|jmp", "Text Files|txt;csv;dat", "All Files|*"},
1,
saveFlag = 1
);
폴더를 선택하고 파일 이름을 선택한 후 변수 SaveFilePath 이 정보를 문자열로 포함합니다.
그런 다음 다음을 수행합니다.
SaveFilePath );filtereddata << Save(
Re: 스크립팅을 사용하여 데이터 테이블을 Excel로 내보내기훌륭합니다. 감사합니다.
그래도 여전히 1 문제가 있습니다. 어떤 파일을 저장하고 있는지 어떻게 알 수 있습니까? 다른 이름으로 저장하기 위해 파일 이름을 입력했는데 내 폴더에 아무 것도 나타나지 않습니다. 저장할 것이 없기 때문인지 궁금합니다.
데이터 테이블을 만든 다음 제안한 SafeFileWindow 코드를 실행하고 있습니다. 내가 간단한 것을 놓치고 있다면 사과드립니다. 나는 이것에 처음이다! (또한 어떤 이유로 데이터 테이블이 나타나기 전에 파일 저장 창이 나타납니다. 즉, 이 코드를 실행한 후 파일 저장 창이 활성 창이 아닙니다.)
당신의 도움을 주셔서 감사합니다.
다음은 내 코드의 일부입니다.
필터링된 데이터 = sorteddt << 부분 집합(
(선택한 행),
열(:YEARX, :PSU, :CASEID, :RATWGT, :VEHNO, :OCCNO, :DVTOTAL, :ROLLOVER, :GAD1, :PDOF1, :DOF1, :BODYTYPE, :AGE, :ROLE, :SEATPOS),
출력 테이블 이름(파일명)
);
SaveFileWindow = 파일 선택(
"필터링된 데이터 저장",
길,
{"Excel 파일|xlsx;xls", "JMP Datatables|jmp", "텍스트 파일|txt;csv;dat", "모든 파일|*"},
1,
세이브 플래그 = 1
);
Re: 스크립팅을 사용하여 데이터 테이블을 Excel로 내보내기@샤논K
"<기본 폴더 경로>"를 처음에 표시할 폴더 경로로 바꾸십시오::
SaveFileWindow = Pick File(
"Save File",
"<DEFAULT folder="" path="">",
{"Excel Files|xlsx;xls", "JMP Datatables|jmp", "Text Files|txt;csv;dat", "All Files|*"},
1,
saveFlag = 1
);
</DEFAULT>
파일 선택 기능에 대한 자세한 내용은 다음에서 확인할 수 있습니다. http://www.jmp.com/support/help/13/Select_a_Directory_or_File.shtml