0

テンプレートから Excel ファイルを生成するデスクトップ アプリがあります。基本的には、テンプレートの Excel ファイルを新しいディレクトリにコピーして開き、レコードを追加します。

これはコード スニペットです。

string ExcelFiles = txtFileOutput.Text; //Application.StartupPath + @"\ExcelFiles\"; 
        string DestFile = ExcelFiles + FinalListOfTrucks[0].Date.ToShortDateString().Replace('/', '_') + ".xlsx"; 
        if (File.Exists(DestFile))
        {
            try
            {
                File.Delete(DestFile);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error deleting file: " + ex.Message);
            }
        }

        try
        {
            File.Copy(Application.StartupPath + @"\ExcelTemplate.xlsx", DestFile);
        }
        catch (Exception ex)
        {
            MessageBox.Show("Error copying file: " + ex.Message);
        }

        string appPath = Path.GetDirectoryName(Application.ExecutablePath);            
        string strConnectionXls = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + DestFile + ";Extended Properties=Excel 12.0;";
        OleDbConnection cno = new OleDbConnection(strConnectionXls);
        OleDbCommand cmo = new OleDbCommand();
        cmo.Connection = cno;
        cmo.CommandType = CommandType.Text;

string QueryHeader = "INSERT INTO [RptTotal$] (NUMERO,FECHA,JORNADA,PLACA,HORA_DE_LLEGADA,HORA_FIN_CARGUE,HORA_FIN_DESCARGUE,VOLUMEN,DISTANCIA,TIPO_DE_VEHICULO,MATERIAL,MISSED_DATE)";

cmo.CommandText = QueryHeader + " VALUES ('" + No.ToString() + "','" + Fecha + "','" + Jornada + "','" + Placa + "','" + HoraDeLlegada + "','" + HoraFinCargue + "','" +
                                                        HoraFinDescargue + "','" + Volumen + "','" + Distancia + "','" + TipoDeVehiculo + "','" + Material + "','" + MissedDate + "')";
                cmo.ExecuteNonQuery();

ここで、フォルダーを webapp に追加し、そこに Excel テンプレートを配置できるとしましょう。そこから開始して、web で同じ機能を実現する方法:\ ?

4

1 に答える 1

1

デスクトップ アプリケーションで行っているのと同じことですが、コードをクリーンアップする必要があります。

  1. テンプレートをコピーし、サーバーの同じ場所にテンプレートを保存します
  2. すべてのメッセージ ボックスを削除する必要があります
  3. OleDbConnection を使用して Excel ファイルを変更します ( OpenXMLまたは Epplus のようなopenXMLの上に構築されたライブラリを強くお勧めします) 。
  4. 変更内容を保存
  5. ファイルをクライアントにストリーミングする
  6. ストリーミングされたファイルをクリーンアップする方法を理解する
于 2012-11-09T15:58:52.120 に答える