(1) 엑셀로 등록
1. 엑셀에서 데이터 전송 (VBA 매크로 활용)
VBA를 활용하여 엑셀에서 버튼 클릭 시 라이믹스 API로 글을 등록하는 HTTP 요청을 보낼 수 있습니다.
1) VBA 코드 작성vba복사편집
Sub RegisterPost() Dim http As Object Dim JSON As String Dim URL As String Dim title As String Dim content As String ' 게시글 제목과 내용 가져오기 title = Sheets("Sheet1").Range("A2").Value content = Sheets("Sheet1").Range("B2").Value ' 라이믹스 API 주소 설정 (예: 커스텀 PHP API) URL = "https://your-rhymix-site.com/api/excel_post.php" ' JSON 데이터 구성 JSON = "{""title"":""" & title & """, ""content"":""" & content & """}" ' HTTP 요청 보내기 Set http = CreateObject("MSXML2.XMLHTTP") http.Open "POST", URL, False http.setRequestHeader "Content-Type", "application/json" http.Send JSON MsgBox "게시글 등록 완료!", vbInformation End Sub
위 코드를 실행하면 A2(제목), B2(내용)에 입력된 데이터를 Rhymix 서버의 API로 전송합니다.
2) 버튼 추가
엑셀에서 개발 도구 → 삽입 → 버튼(Form Control) 추가
추가된 버튼을 우클릭하여 매크로 지정 → RegisterPost 선택
2. Rhymix에서 API 엔드포인트 만들기 (PHP)
VBA에서 보낸 데이터를 처리하여 Rhymix 게시판에 글을 작성하는 PHP API 파일을 만듭니다.
1) api/excel_post.php 생성php
<?php require_once('../config/config.inc.php'); // 라이믹스 설정 불러오기 // JSON 데이터 읽기 $inputJSON = file_get_contents('php://input'); $data = json_decode($inputJSON, true); // 데이터 검증 if (empty($data['title']) || empty($data['content'])) { echo json_encode(['status' => 'error', 'message' => '필수 데이터 누락']); exit; } // 게시판 모듈 로드 $oDocumentModel = getModel('document'); $oDocumentController = getController('document'); // 게시글 등록 정보 설정 $args = new stdClass(); $args->title = $data['title']; $args->content = $data['content']; $args->module_srl = 123456; // 대상 게시판의 module_srl 입력 $args->member_srl = 1; // 작성자 (관리자 계정) // 게시글 등록 실행 $output = $oDocumentController->insertDocument($args); // 결과 반환 if ($output->toBool()) { echo json_encode(['status' => 'success', 'message' => '등록 완료']); } else { echo json_encode(['status' => 'error', 'message' => '등록 실패']); } ?>
위 파일을 Rhymix의 api/ 폴더에 업로드한 후, https://your-rhymix-site.com/api/excel_post.php로 요청을 보내면 글이 등록됩니다.
✅ 추가 고려사항
1. 보안 처리
- API에 API Key를 추가하여 인증 강화.
- $_SESSION['logged_info']->member_srl을 활용하여 로그인한 사용자의 정보를 받아 등록 가능.
2. 엑셀 확장
- 제목, 내용뿐만 아니라 카테고리, 태그, 추가 필드(extra_vars 등)도 지원 가능.
- oDocumentController->insertDocument($args)에서 args->category_srl, args->extra_vars1 등을 활용.
(2) 파이썬으로 등록
참조
https://xe1.xpressengine.com/index.php?mid=download&package_id=22753977