Pergunta

Até Office 2007, Excel tem um máximo de 65.000 linhas. Office 2007 colidido que até um máximo de 1 milhão de linhas, o que é mais agradável, é claro; mas estou curioso - porque é que há um limite em tudo? Obviamente, o desempenho vai abrandar exponetially à medida que aumenta o tamanho da folha de cálculo; mas não deve ser muito difícil ter otimizar Excel para isso, começando com uma pequena folha e dinamicamente "re-sizing" só quando necessário. Dada a quantidade de trabalho que deve ter sido para aumentar o limite de 65K para 1 milhão, por que eles não percorrer todo o caminho por isso é limitado apenas pela quantidade de memória disponível e espaço em disco?

Foi útil?

Solução

(atualizado por causa do erro ... Uma sugestão a todos: não postar no SO antes que você está totalmente acordado)

Provavelmente por causa de otimizações. Excel 2007 pode ter um máximo de 16 384 colunas e 1 048 576 linhas. números estranhos?

14 bits = 16 384, 20 bits = 1 048 576

14 + 20 = 34 pedaços = mais do que um registo de 32 bits pode conter.

Mas eles também precisam armazenar o formato da célula (texto, número etc) e de formatação (cores, bordas etc). Supondo que eles usam duas palavras de 32 bits (64 bits) que eles usam 34 bits para o número de células e têm 30 bits para outras coisas.

Por que isso é importante? Em memória eles não precisam alocar toda a memória necessária para toda a planilha, mas apenas a memória necessária para os seus dados, e cada dados é marcado com no que celular é suposto estar dentro.

Atualização 2016:

Encontrou um link para especificação da Microsoft para o Excel 2013 e 2016

  • abrir livros: limitada por recursos de memória e sistema disponíveis
  • tamanho folha de cálculo: 1.048.576 linhas (20 bits) por 16.384 colunas (14 bits)
  • A largura da coluna: 255 caracteres (8 bits)
  • Altura da linha: 409 pontos
  • quebras de página: 1.026 horizontal e vertical (número inesperado, provavelmente erradas, 10 bits é de 1024)
  • Número total de caracteres que uma célula pode conter: 32.767 caracteres (com sinal de 16 bits)
  • caracteres em um cabeçalho ou rodapé: 255 (8 bits)
  • folhas num livro: Limitada pela memória disponível (o padrão é 1 folha)
  • Cores em uma pasta de trabalho: 16 milhões de cores (32 bits com acesso total ao espectro de cor de 24 bits)
  • vistas nomeadas em uma pasta de trabalho: limitado pela memória disponível
  • estilos formatos de células / células únicas: 64.000 (16 bits = 65536)
  • Preencha estilos: 256 (8 bits)
  • peso e estilos Linha: 256 (8 bits)
  • Original font tipos: 1.024 (10 bits) fontes globais disponíveis para uso; 512 por pasta de trabalho
  • formatos de número em uma pasta de trabalho: Entre 200 e 250, dependendo da versão de idioma do Excel que você instalou
  • Nomes em uma pasta de trabalho: limitado pela memória disponível
  • Windows em uma pasta de trabalho: limitado pela memória disponível
  • As hiperligações em uma planilha: 66,530 hyperlinks (. Número inesperado, provavelmente errado 16 bits = 65536)
  • Panes em uma janela: 4
  • planilhas vinculadas: Limitada pela memória disponível
  • Cenários: limitado pela memória disponível; um relatório de síntese mostra apenas os primeiros 251 cenários
  • células Alterar em um cenário: 32
  • células ajustáveis ??em Solver: 200
  • As funções personalizadas: Limitada pela memória disponível
  • faixa de zoom: 10 por cento para 400 por cento
  • Relatórios: Limitada pela memória disponível
  • referências Ordenar: 64 em uma única espécie; ilimitada ao usar tipos sequenciais
  • Os níveis de desfazer: 100
  • Os campos em um formulário de dados: 32
  • parâmetros pasta de trabalho: 255 parâmetros por pasta de trabalho
  • Os produtos exibidos na lista drop-down de filtro: 10.000

Outras dicas

Em uma palavra - velocidade. Um índice de até um milhão de linhas encaixa em uma palavra de 32 bits, para que ele possa ser utilizado de forma eficiente em processadores de 32 bits. Argumentos de funções que cabem num registo CPU são extremamente eficientes, enquanto que aqueles que são maiores requerem acesso a memória em cada chamada de função, uma operação muito mais lento. Atualizando uma planilha pode ser uma operação intensiva envolvendo muitas referências de células, de modo que a velocidade é importante. Além disso, os espera da equipe do Excel que qualquer pessoa a lidar com mais de um milhão de linhas estará usando um banco de dados em vez de uma planilha.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top