이온디
호스팅센터
웹디벨로퍼
프리랜서카페
스레드

(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

import_excel.zip

 


내용을 입력하세요
0
댓글은 로그인 사용자만 작성 가능합니다. 로그인하기