GAS를 사용하여 스프레드시트에 MySQL 테이블 정의 서 작성
있었기 때문에 DB에서 직접 테이블 정의를 작성하는 스크립트를 만들었습니다.
소스 코드
htps : // 기주 b. 코 m / 곰에 zm / 타 b ぇ_ s ぺ c_ 아 t_sp
README라든지 아무것도 쓰지 않았다・・・
경위
전술한 바와 같이, OSS를 사용하는 것이 늘어난 배경도 있어,
DB에서 직접 문서를 만들고 싶었기 때문에.
완제품
사용법
↑시트명을 「테이블 정의서」에 써 주세요
↑스프레드 에디터 열기
↑github에서 clone 해 온 code.gs를 붙여 주세요.
↑_config의 MySQL 연결 정보와 스프레드 시트의 파일 ID를 적절한 값으로 다시 작성하십시오.
↑set_table_list() 함수를 실행하면 스프레드시트에 테이블 정의가 만들어집니다.
※테이블 수에 따라 약간의 시간이 걸립니다.
소스 내용 설명
함수 개요
set_table_list() : 실행할 함수
get_list_() : 테이블을 배열에 밀어넣기
set_table_sheet_() : 테이블 정의를 시트별로 작성
set_list_sheet_() : 테이블 목록의 시트 만들기
MySQL에 연결
// 変数定義
var con_str = 'jdbc:mysql://' + _config['DB_HOST'] + ':' + _config['DB_PORT'] + '/' + _config['DB_NAME'];
var user_id = _config['DB_USER'];
var user_pass = _config['DB_PASS'];
// DBに接続
var conn = Jdbc.getConnection(con_str, user_id, user_pass);
var stmt = conn.createStatement();
// 最大row数
stmt.setMaxRows(1000);
SQL 실행
var str_query = "show table status like '" + TABLE + "'";
var rs = stmt.executeQuery(str_query);
while(rs.next()) {
//getStringで列名を指定して取得
table_ss.getRange("A"+(j+1)).setValue(rs.getString("Comment")).setBorder(true, true, true, true, true, true);
j++;
k++;
}
rs.close();
이용한 SQL
...는 소스 안을 확인하십시오.
주의점
스프레드시트의 사양상, 셀이 200만개 이상 할 수 있으면 에러가 되는 것 같습니다.
따라서 불필요한 셀을 삭제하는 것이 좋습니다.
if (table_ss.getMaxRows()==1000) {
table_ss.deleteColumns(11, table_ss.getMaxColumns()-11);
table_ss.deleteRows(j, (table_ss.getMaxRows()-j));
}
디폴트는 1000행이므로, 디폴트 상태시에는 필요한 분만 남겨 행·열 모두 삭제한다
감상
최근 스프레드시트를 사용하여 문서를 쓰는 것이 늘어나므로 할 수 있는 것은 바시바시 자동화해 나가고 싶다.
Reference
이 문제에 관하여(GAS를 사용하여 스프레드시트에 MySQL 테이블 정의 서 작성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kumanizm/items/7bf5019e41ecdbcf5197
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
전술한 바와 같이, OSS를 사용하는 것이 늘어난 배경도 있어,
DB에서 직접 문서를 만들고 싶었기 때문에.
완제품
사용법
↑시트명을 「테이블 정의서」에 써 주세요
↑스프레드 에디터 열기
↑github에서 clone 해 온 code.gs를 붙여 주세요.
↑_config의 MySQL 연결 정보와 스프레드 시트의 파일 ID를 적절한 값으로 다시 작성하십시오.
↑set_table_list() 함수를 실행하면 스프레드시트에 테이블 정의가 만들어집니다.
※테이블 수에 따라 약간의 시간이 걸립니다.
소스 내용 설명
함수 개요
set_table_list() : 실행할 함수
get_list_() : 테이블을 배열에 밀어넣기
set_table_sheet_() : 테이블 정의를 시트별로 작성
set_list_sheet_() : 테이블 목록의 시트 만들기
MySQL에 연결
// 変数定義
var con_str = 'jdbc:mysql://' + _config['DB_HOST'] + ':' + _config['DB_PORT'] + '/' + _config['DB_NAME'];
var user_id = _config['DB_USER'];
var user_pass = _config['DB_PASS'];
// DBに接続
var conn = Jdbc.getConnection(con_str, user_id, user_pass);
var stmt = conn.createStatement();
// 最大row数
stmt.setMaxRows(1000);
SQL 실행
var str_query = "show table status like '" + TABLE + "'";
var rs = stmt.executeQuery(str_query);
while(rs.next()) {
//getStringで列名を指定して取得
table_ss.getRange("A"+(j+1)).setValue(rs.getString("Comment")).setBorder(true, true, true, true, true, true);
j++;
k++;
}
rs.close();
이용한 SQL
...는 소스 안을 확인하십시오.
주의점
스프레드시트의 사양상, 셀이 200만개 이상 할 수 있으면 에러가 되는 것 같습니다.
따라서 불필요한 셀을 삭제하는 것이 좋습니다.
if (table_ss.getMaxRows()==1000) {
table_ss.deleteColumns(11, table_ss.getMaxColumns()-11);
table_ss.deleteRows(j, (table_ss.getMaxRows()-j));
}
디폴트는 1000행이므로, 디폴트 상태시에는 필요한 분만 남겨 행·열 모두 삭제한다
감상
최근 스프레드시트를 사용하여 문서를 쓰는 것이 늘어나므로 할 수 있는 것은 바시바시 자동화해 나가고 싶다.
Reference
이 문제에 관하여(GAS를 사용하여 스프레드시트에 MySQL 테이블 정의 서 작성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kumanizm/items/7bf5019e41ecdbcf5197
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
↑시트명을 「테이블 정의서」에 써 주세요
↑스프레드 에디터 열기
↑github에서 clone 해 온 code.gs를 붙여 주세요.
↑_config의 MySQL 연결 정보와 스프레드 시트의 파일 ID를 적절한 값으로 다시 작성하십시오.
↑set_table_list() 함수를 실행하면 스프레드시트에 테이블 정의가 만들어집니다.
※테이블 수에 따라 약간의 시간이 걸립니다.
소스 내용 설명
함수 개요
set_table_list() : 실행할 함수
get_list_() : 테이블을 배열에 밀어넣기
set_table_sheet_() : 테이블 정의를 시트별로 작성
set_list_sheet_() : 테이블 목록의 시트 만들기
MySQL에 연결
// 変数定義
var con_str = 'jdbc:mysql://' + _config['DB_HOST'] + ':' + _config['DB_PORT'] + '/' + _config['DB_NAME'];
var user_id = _config['DB_USER'];
var user_pass = _config['DB_PASS'];
// DBに接続
var conn = Jdbc.getConnection(con_str, user_id, user_pass);
var stmt = conn.createStatement();
// 最大row数
stmt.setMaxRows(1000);
SQL 실행
var str_query = "show table status like '" + TABLE + "'";
var rs = stmt.executeQuery(str_query);
while(rs.next()) {
//getStringで列名を指定して取得
table_ss.getRange("A"+(j+1)).setValue(rs.getString("Comment")).setBorder(true, true, true, true, true, true);
j++;
k++;
}
rs.close();
이용한 SQL
...는 소스 안을 확인하십시오.
주의점
스프레드시트의 사양상, 셀이 200만개 이상 할 수 있으면 에러가 되는 것 같습니다.
따라서 불필요한 셀을 삭제하는 것이 좋습니다.
if (table_ss.getMaxRows()==1000) {
table_ss.deleteColumns(11, table_ss.getMaxColumns()-11);
table_ss.deleteRows(j, (table_ss.getMaxRows()-j));
}
디폴트는 1000행이므로, 디폴트 상태시에는 필요한 분만 남겨 행·열 모두 삭제한다
감상
최근 스프레드시트를 사용하여 문서를 쓰는 것이 늘어나므로 할 수 있는 것은 바시바시 자동화해 나가고 싶다.
Reference
이 문제에 관하여(GAS를 사용하여 스프레드시트에 MySQL 테이블 정의 서 작성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kumanizm/items/7bf5019e41ecdbcf5197
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
// 変数定義
var con_str = 'jdbc:mysql://' + _config['DB_HOST'] + ':' + _config['DB_PORT'] + '/' + _config['DB_NAME'];
var user_id = _config['DB_USER'];
var user_pass = _config['DB_PASS'];
// DBに接続
var conn = Jdbc.getConnection(con_str, user_id, user_pass);
var stmt = conn.createStatement();
// 最大row数
stmt.setMaxRows(1000);
var str_query = "show table status like '" + TABLE + "'";
var rs = stmt.executeQuery(str_query);
while(rs.next()) {
//getStringで列名を指定して取得
table_ss.getRange("A"+(j+1)).setValue(rs.getString("Comment")).setBorder(true, true, true, true, true, true);
j++;
k++;
}
rs.close();
스프레드시트의 사양상, 셀이 200만개 이상 할 수 있으면 에러가 되는 것 같습니다.
따라서 불필요한 셀을 삭제하는 것이 좋습니다.
if (table_ss.getMaxRows()==1000) {
table_ss.deleteColumns(11, table_ss.getMaxColumns()-11);
table_ss.deleteRows(j, (table_ss.getMaxRows()-j));
}
디폴트는 1000행이므로, 디폴트 상태시에는 필요한 분만 남겨 행·열 모두 삭제한다
감상
최근 스프레드시트를 사용하여 문서를 쓰는 것이 늘어나므로 할 수 있는 것은 바시바시 자동화해 나가고 싶다.
Reference
이 문제에 관하여(GAS를 사용하여 스프레드시트에 MySQL 테이블 정의 서 작성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kumanizm/items/7bf5019e41ecdbcf5197
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(GAS를 사용하여 스프레드시트에 MySQL 테이블 정의 서 작성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kumanizm/items/7bf5019e41ecdbcf5197텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)