Автоматизация отчетности — ключевой шаг для оптимизации бизнес-процессов. Вместо ручной выгрузки CSV-файлов настройте прямой импорт данных из базы MySQL в Google Таблицы с помощью встроенного сервиса Google Apps Script (JDBC). Это позволит вам мгновенно обновлять отчеты, а при необходимости вы сможете связать ячейки в Excel и Google Таблицах для консолидации данных.
Видеоинструкция
Шаг 1: Разрешите доступ к вашей базе данных
Google Apps Script подключается к MySQL через JDBC. Для успешного соединения необходимо открыть доступ к вашему серверу MySQL для IP-адресов Google.
Дополнительно: IP-адреса Google
Вам нужно добавить в белый список (whitelist) вашего брандмауэра CIDR-диапазоны Google. Актуальный список адресов можно найти в официальной документации Google JDBC, так как они периодически обновляются.
Шаг 2: Откройте редактор скриптов
В вашей Google Таблице перейдите в меню: выберите Расширения > Apps Script.
Шаг 3: Вставьте код импорта
Удалите стандартный код и вставьте следующий скрипт, заменив параметры подключения на свои:
function importMySQL() {
var host = 'YOUR_DATABASE_IP';
var port = 3306;
var dbName = 'YOUR_DB_NAME';
var user = 'YOUR_USER';
var password = 'YOUR_PASSWORD';
var url = 'jdbc:mysql://' + host + ':' + port + '/' + dbName;
try {
var conn = Jdbc.getConnection(url, user, password);
var stmt = conn.createStatement();
var results = stmt.executeQuery('SELECT * FROM users LIMIT 1000');
var metaData = results.getMetaData();
var numCols = metaData.getColumnCount();
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.clear();
var headers = [];
for (var i = 1; i <= numCols; i++) {
headers.push(metaData.getColumnName(i));
}
sheet.appendRow(headers);
while (results.next()) {
var row = [];
for (var i = 1; i <= numCols; i++) {
row.push(results.getString(i));
}
sheet.appendRow(row);
}
results.close();
stmt.close();
conn.close();
} catch (e) {
Logger.log(e.toString());
}
} После вставки кода сохраните проект, нажав комбинацию клавиш Ctrl + S (или Cmd + S на macOS).
Шаг 4: Запуск и авторизация
Нажмите кнопку Запуск в верхней панели редактора. При первом запуске Google попросит вас предоставить скрипту разрешения на доступ к таблицам и внешним сервисам. Подтвердите авторизацию.
При импорте больших объемов числовых данных (например, длинных идентификаторов) Google Таблицы могут автоматически преобразовывать их в экспоненциальный вид. Чтобы этого избежать, прочитайте, как отключить экспоненту в Google Таблицах. После успешного импорта вы сможете легко упорядочить данные, используя сортировку по двум столбцам в Google Sheets.
Частые ошибки / Устранение неполадок
Ошибка: Connection timed out / Failed to establish a database connection
Решение: Проверьте, открыт ли порт 3306 на вашем сервере MySQL и разрешен ли доступ для IP-адресов Google Apps Script.
Ошибка: Exceeded maximum execution time
Решение: Google Apps Script имеет лимит на время выполнения (обычно 6 минут). Если таблица слишком большая, оптимизируйте SQL-запрос с помощью оператора LIMIT или фильтруйте данные по дате.
Часто задаваемые вопросы
Можно ли настроить автоматическое обновление по расписанию?
Да, в редакторе Apps Script нажмите на иконку часов (Триггеры) на левой панели и настройте запуск функции по времени (например, каждый час).
Безопасно ли хранить пароль от базы данных в скрипте?
Для повышения безопасности рекомендуется использовать свойства скрипта (Script Properties) через PropertiesService, чтобы не хранить пароль в открытом виде.








