Closed2

表計算ソフトのA1形式のためのヘルパ関数を書いた (js / ts)

called_Dcalled_D
spreadsheet.ts
export const A = (n: number): string => {
  const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
  if (--n < 0) return ''
  return A(Math.floor(n / alphabet.length)) + alphabet[n % alphabet.length]
}
called_Dcalled_D
spreadsheet.spec.ts
import { describe, expect, test } from 'vitest'
import { A } from '@/lib/spreadsheet'

describe('spreadsheet', () => {
  test('to A1 Convert', () => {
    expect(A(0)).toBeFalsy()
    expect(A(1)).toBe('A')
    expect(A(2)).toBe('B')
    expect(A(25)).toBe('Y')
    expect(A(26)).toBe('Z')
    expect(A(27)).toBe('AA')
    expect(A(52)).toBe('AZ')
    expect(A(53)).toBe('BA')
    expect(A(702)).toBe('ZZ')
    expect(A(703)).toBe('AAA')
    expect(A(18278)).toBe('ZZZ')
  })
})
このスクラップは2024/08/12にクローズされました