2009-05-05 14 views
2

私はC#でExcelシートを読み取るためにOLEDBを使用しています。その列ヘッダーの名前は "Sr.No"です。私の "Sheet1"で。私は、私のDatatableにExcelシートデータをフェッチするとき、私は元のものではなく、列ヘッダー名として "Sr#No#"を取得しています。なぜそれが起こっているのか教えていただけますか?そして同じものに対する解決策は何か。C#で特殊文字を含むExcelシートを読み取る際の問題

ありがとうございました。

答えて

1

これは、これがExcelとは何の関係もなく、OLEDBの固有の機能であることを示唆しています。列名にピリオド(。)が気に入らないようです。

私の提案は、.sを#sで決定的に置き換えるか、可能であればC#からExcelデータを読み込む代替手段を使用しています(代わりにこのサイトを検索してください)。

+0

OLEDBを使用する場合、データベーステーブルのようにExcelファイルを扱います。データベースのルール(とにかくOLEDBのもの)テーブルが適用されます。 AakashMが言ったように、あなたはoledbのコード読み取りでコードの置き換えに対処する必要がある、またはデータを読み取る別の方法で置き換える必要があります。 –

3

いくつかのテストの後、OleDBが次の文字を変換することがわかりました:

。 #

[(

なり]となります)_

は `_

なりなり他のすべての文字が正しく読み込まれます。これが誰かを助けることを望みます。

よろしくお願いいたします。

+0

は魅力的に機能します!ありがとう。 –

関連する問題