В настоящее время я пытаюсь читать в ячейках с листа расширенных расширений и, кажется, переформатирует ячейки, когда я этого не хочу. Я хочу, чтобы это получилось как текст плана. Я прочитал пару решений этой проблемы, и я их реализовал, но у меня все еще такая же проблема.Чтение столбцов из Excel, переформатирование ячеек
Читатель превращает даты в числа и числа в даты.
Пример:
Пятница, 29 Январь 2016 выходит быть: 42398
и
40,00 выходит быть: 2/9/1900 12:00:00 AM
код:
string stringconn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + files[0] + ";Extended Properties=\"Excel 12.0;IMEX=1;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text\"";
try {
OleDbConnection conn = new OleDbConnection(stringconn);
OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [CUAnswers$]", conn);
DataTable dt = new DataTable();
try {
printdt(dt);
Я попытался
IMEX=0;
HDR=NO;
TypeGuessRows=1;
Это как я распечатав лист
public void printdt(DataTable dt) {
int counter1 = 0;
int counter2 = 0;
string temp = "";
foreach (DataRow dataRow in dt.Rows) {
foreach (var item in dataRow.ItemArray) {
temp += " ["+counter1+"]["+counter2+"]"+ item +", ";
counter2++;
}
counter1++;
logger.Debug(temp);
temp = "";
counter2 = 0;
}
}
Это не поможет. Я не хочу его повторно преобразовывать. Я хочу, чтобы он вышел из ячейки в правильном формате. или как текст плана. –
Мне кажется, если вы хотите прочитать ячейку как строку, тогда ее нужно ввести как строку, а не как дату и время (или что-то еще). Возможно, вам придется изменить таблицу и преобразовать эти ячейки в текст, возможно, префиксное значение с помощью одной кавычки. (Это, вероятно, не тот ответ, который вы хотели.) –
@Sari Пожалуйста, ознакомьтесь с новыми идеями в моем редактировании. –