import openpyxl
from openpyxl.styles import Font, PatternFill, Alignment, Border, Side
from openpyxl.utils import get_column_letter
wb = openpyxl.Workbook()
ws = wb.active
ws.title = "スマホ標準アイコン一覧"
ws.views.sheetView[0].showGridLines = True
HEADER_FILL = PatternFill(start_color="34495E", end_color="34495E", fill_type="solid")
HEADER_FONT = Font(name="Meiryo", size=11, bold=True, color="FFFFFF")
TITLE_FONT = Font(name="Meiryo", size=14, bold=True, color="2C3E50")
SUBTITLE_FONT = Font(name="Meiryo", size=10, italic=True, color="7F8C8D")
REGULAR_FONT = Font(name="Meiryo", size=10, color="333333")
ZEBRA_FILL = PatternFill(start_color="F8F9FA", end_color="F8F9FA", fill_type="solid")
WHITE_FILL = PatternFill(start_color="FFFFFF", end_color="FFFFFF", fill_type="solid")
THIN_BORDER_SIDE = Side(border_style="thin", color="BDC3C7")
BORDER = Border(left=THIN_BORDER_SIDE, right=THIN_BORDER_SIDE, top=THIN_BORDER_SIDE, bottom=THIN_BORDER_SIDE)
ws['B2'] = "スマートフォン(Android / iPhone)標準アイコン一覧表"
ws['B2'].font = TITLE_FONT
ws['B3'] = "日常よく使われる代表的なアイコンの名称と使い方をまとめたリファレンスです。"
ws['B3'].font = SUBTITLE_FONT
headers = ["No.", "アイコンイメージ(模擬・説明)", "主な呼び方・名称", "使用方法・機能の説明"]
header_row = 5
for col_idx, header in enumerate(headers, start=2):
cell = ws.cell(row=header_row, column=col_idx)
cell.value = header
cell.fill = HEADER_FILL
cell.font = HEADER_FONT
cell.alignment = Alignment(horizontal="center", vertical="center", wrap_text=True)
cell.border = BORDER
data = [
("1", "⚙️ (歯車マーク)", "設定 (Settings)", "スマホ全体の音量、画面の明るさ、Wi-Fi接続、アカウント管理など、各種設定を行うためのアイコンです。"),
("2", "🏠 (家マーク)", "ホーム (Home)", "どの画面にいても、一瞬で一番最初の「ホーム画面(待ち受け画面)」に戻るためのボタンです。"),
("3", "🔍 (虫眼鏡)", "検索 (Search)", "インターネット上で調べ物をしたり、スマホ内にあるアプリや写真を探したりするときに入力欄を開くマークです。"),
("4", "✉️ / 💬 (封筒・吹き出し)", "メール / メッセージ", "家族や友人、知人と電子メールや短文メッセージ(SMSなど)のやり取りを行うためのアプリです。"),
("5", "📞 (受話器マーク)", "電話 (Phone)", "番号を入力して直接電話をかけたり、これまでの発着信履歴やアドレス帳を確認したりするアイコンです。"),
("6", "📷 (カメラ)", "カメラ (Camera)", "風景や家族の写真、お料理、書類などを撮影してスマホに保存するための機能です。"),
("7", "🖼️ / ✿ (写真・アルバム)", "ギャラリー / 写真", "スマホで撮影した写真や動画を整理して見たり、過去の思い出を振り返ったりするための保存場所です。"),
("8", "🌐 / 🧭 (地球儀・コンパス)", "ブラウザ (Safari / Chrome)", "インターネット上のホームページやニュース、レシピサイトなどを見るためのアプリです。"),
("9", "🔊 (スピーカー / 音量)", "音量調整 (Volume)", "着信音や動画の音、通知音の大きさを上げ下げするためのマークやボタンです。"),
("10", "🔋 (電池マーク)", "バッテリー残量", "現在スマホの電池がどれくらい残っているかを%や絵柄で表示するステータスアイコンです。"),
("11", "📶 (扇状・アンテナ)", "電波状況 (Wi-Fi / 4G・5G)", "インターネットや電話回線につながっている電波の強さを表すアイコンです。"),
("12", "❌ / ⬅️ (×印・矢印)", "閉じる / 戻る", "見ている画面を終わらせたり、一つ前の画面に戻ったりするときに押すマークです。"),
("13", "🎤 (マイク)", "音声入力 (Voice Input)", "キーボードで文字を打つ代わりに、スマホに向かって話しかけて文字を入力する機能です。"),
("14", "🔗 / 📤 (共有・矢印つき箱)", "共有 (Share)", "見ている写真やWebページの情報を、メールやLINEなどで他の人に送るためのアイコンです。"),
]
start_row = 6
for i, row_data in enumerate(data):
current_row = start_row + i
is_zebra = (i % 2 == 1)
row_fill = ZEBRA_FILL if is_zebra else WHITE_FILL
for col_idx, val in enumerate(row_data, start=2):
cell = ws.cell(row=current_row, column=col_idx)
cell.value = val
cell.font = REGULAR_FONT
cell.fill = row_fill
cell.border = BORDER
if col_idx in [2, 3]:
cell.alignment = Alignment(horizontal="center", vertical="center", wrap_text=True)
elif col_idx == 4:
cell.alignment = Alignment(horizontal="left", vertical="center", wrap_text=True)
else:
cell.alignment = Alignment(horizontal="left", vertical="center", wrap_text=True)
ws.row_dimensions[2].height = 25
ws.row_dimensions[3].height = 20
ws.row_dimensions[5].height = 30
for r in range(start_row, start_row + len(data)):
ws.row_dimensions[r].height = 28
ws.column_dimensions['A'].width = 3
ws.column_dimensions['B'].width = 6
ws.column_dimensions['C'].width = 24
ws.column_dimensions['D'].width = 22
ws.column_dimensions['E'].width = 50
ws.freeze_panes = 'B6'
file_name = "smartphone_icons_list.xlsx"
wb.save(file_name)
print(file_name)
smartphone_icons_list.xlsx