Leitura do Excel DataType misturado sem modificar a chave do Registro
Estou tentando usar o C # para ler o arquivo do Excel que possui tipo de dados misturado. Abaixo está a minha string de conexão
var path = //xls location
var MyConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data Source='" + path + "';Extended Properties='Excel 8.0;IMEX=1;'");
@ Research me ensinou que oExtended Properties
na cadeia de conexão deve ser
Excel 8.0;IMEX=1;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text
No entanto, fui informado de que na cadeia de conexão, oTypeGuessRows=0
não tem significad como o valor serátaken diretamente do registro. Por isso, preciso modificar a chave manualmente e remover esta propriedade da cadeia de conexã
A chave de registro específica envolvida é:
Caminho
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Jet \ 4.0 \ Engines \ Excel
Chave
TypeGuessRows
Original value =8, para fazê-lo funcionar, mude para =0
Sem fazer isso, oIMEX
não vai funcionar tão difícil, eu adicionoTypeGuessRows=0
noExtended Properties
.
No entanto, minha empresa proíbe a modificação do valor do registro (estritamente). Disseram-me para encontrar alternativas para fazer isso.
Em resumo
Existe uma maneira deread tipo de dados misturado excel Arquivose ter de modifique qualquer chave do registro (que é uma prática bastante comum)?
Tópico adicional:
Você já experimentou isso antes? Existem possibilidades que podemos definirTypeGuessRows=0
da cadeia de conexão apenas sem precisar modificar a chave do registro (cancelando minha premissa acima
Se as coisas não derem certo comOleDb
:
Existem alternativas ao lado deOleDb
?
Agradeço qualquer conselho ou sugestão.
Saudaçõe