A sugestão anterior de usar "aaaa-MM-dd HH: mm: ss" é adequada, embora eu acredite que o Excel tenha uma resolução de tempo muito mais precisa do que essa. Acho este post bastante confiável (siga o tópico e você verá muita aritmética e experiências com o Excel) e, se estiver correto, você terá seus milissegundos. Você pode apenas adicionar casas decimais no final, por exemplo, "aaaa-mm-dd hh: mm: ss.000".
Você deve estar ciente de que o Excel pode não necessariamente formatar os dados (sem intervenção humana) de forma que você veja toda essa precisão. No meu computador no trabalho, quando configuro um CSV com dados "aaaa-mm-dd hh: mm: ss.000" (manualmente usando o Bloco de notas), obtenho "mm: ss.0" na célula e "m / d / aaaa hh: mm: ss AM / PM "na barra de fórmulas.
Para obter o máximo de informações [1] transmitidas nas células sem intervenção humana, você pode querer dividir seu registro de data e hora em uma porção de data e uma porção de tempo, com a porção de tempo apenas em segundos. Parece-me que o Excel quer dar a você no máximo três "níveis" visíveis (onde as frações de segundo são seus próprios níveis) em qualquer célula, e você deseja sete: anos, meses, dias, horas, minutos, segundos, e frações de segundo.
Ou, se você não precisa que o carimbo de data / hora seja legível, mas deseja que seja o mais preciso possível, você pode preferir apenas armazenar um número grande (internamente, o Excel usa apenas o número de dias, incluindo dias fracionários , desde uma data de "época").
[1] Ou seja, informações numéricas. Se você deseja ver o máximo de informações possível, mas não se preocupa em fazer cálculos com elas, pode criar algum formato que o Excel irá definitivamente analisar como uma string e, portanto, deixar sozinho; por exemplo, "aaaammdd.hhmmss.000".