0

私は .NET C# で Windows アプリケーションに取り組んでいます。Excel セルの内容を他のテキスト (データベースから取得したもの) に置き換える必要があります。私がする必要があるのは、Excel の値をデータベースの実際の値に置き換えることです。(たとえば、"CustomerName" は "John" に置き換えられ、"CustomerCompanyName" は "GE" に置き換えられます)。また、いくつかの値が存在しない場合、その空のスペースはその下の値によってオーバーラップされます。

これをどのように実装できますか?

4

3 に答える 3

0

私はhttp://www.tmssoftware.net/(提携なし)のFlexCelを使用していますが、それは素晴らしいことです。リーズナブルな価格、高速、すべてのマネージコードであり、開発者は自分が何について話しているのかを知っているようで、クエリにも非常に敏感です。

OFfice InteropライブラリIMHOよりも1000%優れています。

以前は、Interopライブラリを介してExcelにアクセスし、サーバーにはODBC / OLE-DBドライバーを使用しましたが、常に問題がありました。

于 2012-10-16T14:45:02.670 に答える
0

OpenXml を使用する場合は、Excel ドキュメントのセルの値を読み取る方法と、セルに値を書き込む方法がここにあります

使用できる別の無料ライブラリはNPOIです。これらの手順は、セルのデータを読み書きし、変更されたファイルを保存する方法の最初のアイデアを提供します。

        FileStream aFile = new FileStream(@"c:\tmp\foo.xls", FileMode.Open, FileAccess.Read);
        HSSFWorkbook wb = new HSSFWorkbook(aFile);
        aFile.Close();
        ISheet ws = wb.GetSheet("Worksheet1");

        IRow aRow = curSheet.GetRow(aRowIdx);
        if (aRow == null)
            aRow = curSheet.CreateRow(aRowIdx);
        ICell aCell = aRow.GetCell(aColIdx);
        if (aCell == null)
            aCell = aRow.CreateCell(aColIdx);
        string sValue = aCell.StringCellValue; // here the value is read
        sValue = sValue + " MODIFIED";
        aCell.SetCellValue(sValue); // here it is written
        aFile = new FileStream(@"c:\tmp\bar.xls", FileMode.Create);
        wb.Write(aFile);
        aFile.Close();
于 2012-10-17T06:31:37.113 に答える
0

場合によります。

これらがワークシートの単なる静的な値であり、それらを更新するときに Excel で計算が実行されるとは思わない場合は、OpenXml を使用してスプレッドシートを編集してください。

それ以外の場合は、Office Interopt またはサード パーティの Excel ライブラリを使用する必要があります。

于 2012-10-16T14:35:30.513 に答える