[C#] 添付ファイルをローカルにダウンロードする (Excel テンプレート)

一連の記事

[C#] トラック番号ジェネレーター (採番ルール、固定文字、シリアル番号、ビジネス トラック番号の生成)
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/129129787

[C#] 日付範囲ジェネレーター (開始日、終了日)
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/129040663

[C#] コンポーネントベースの開発、dll コンポーネント メソッドの呼び出し
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/129492112

[C#] データ エンティティ クラスの使用
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/128816638

[C#] ドキュメント承認フロー スキーム
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/128972545

【C#】QRコードラベルの作成と印刷
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/126884228

[C#] 最も完全なドキュメント印刷ソース コード (デザイン印刷テンプレート、バーコードと QR コード、ラベル、フォント)
この記事のリンク: https://blog.csdn.net/youcheng_ge/article/details/129415723

[C#] バーコード管理操作マニュアル
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/126589496

[C#] IIS プラットフォームでの WebAPI 公開と例外処理
: https://blog.csdn.net/youcheng_ge/article/details/126539836

【C#】【プログラミング効率向上】コードテンプレート生成ツール
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/126890673

【C#】【プログラミング効率向上】Excelデータをデータベースに一括
インポート

[C#] Windows サービス (Service) のインストールと起動停止ソリューション
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/124053794

[C#] セッション分離の浸透、サービス呼び出し外部プログラム (フォーム インターフェイス ソリューションなし)
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/124053033

[C#] Quartz クラスを使用したタスク プランの実装
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/123667723

[C#] 「出生前準備モジュールに関する週次計画管理」ソリューション 20200203
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/122919543

[C#] ソース コードの正規表現の解析
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/118337074

[C#] ソフトウェア バージョンとファイル MD5 レコード (XML 操作)
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/112513871

[C#] ネットワークが接続されているかどうかをテストする
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/110137288

【C#】名前に従ってコードを取得する(辞書取得キーメソッド)
この記事へのリンク:https ://blog.csdn.net/youcheng_ge/article/details/129816701

[C#] データモデリング、DataTable または List を使用しますか?
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/129792726

[C#] GridControl コントロールとリスト データ セット間の双方向バインディング
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/129423755

[C#] GridControl による DataSource の動的置換、データ クエリ例外処理
この記事へのリンク: https://blog.csdn.net/youcheng_ge/article/details/130305424



序文

私は世界全体を抽象化できますが、あなたを抽象化することはできません。あなたをプライベート定数にして、外部関数があなたにアクセスできないようにしたいと考えています。また、私はあなたに、生涯を通じてあなたに電話できるように、世界的な不変者になってほしいと思っています。世界にそのような一定のものが存在しないのは残念です、そしてあなたは私の心の中で非常に具体的であるため、私はあなたを定義することができません。

皆さん、こんにちは。このコラムは [プロジェクトの実戦] コラムであり、[基礎となるライブラリ] コラムとは異なります。「問題の説明」と「プロジェクトの表示」の章が追加されていることがわかります。プロジェクトの開発プロセスを示し、読者がプロジェクト、解決すべき問題、製品が達成できる効果をより明確に理解できるようにします。このコラムには、プロジェクト開発プロセスの解決策が含まれています。これは、私のプロジェクト開発のための比較的成熟した信頼できる手法を改良したものです。これらの問題の解決策を整理し、皆さんと共有するためにこの記事を書きます。同様の問題が発生した場合は、次のことができます。この記事の解決策に従って対処してください。

このコラムは今後も更新および改善されていく予定ですが、コラム記事間の関連性は弱いです (記事間の依存関係が弱く、読む順序はありません)。ご質問がございましたら、プライベートメッセージをお送りください。このコラムに興味がある方は、ぜひ注目してください。最も簡潔なコードを使用して複雑な関数を実現する方法を説明します。

·提示:本专栏为项目实战篇,未接触项目开发的同学可能理解困难,不推荐阅读。
3A0N000001


1. 問題の説明

Excel テンプレートのダウンロード、償還テンプレートのダウンロードなど、ソリューション プログラムの添付ファイルを、サーバーに接続せずに、純粋なスタンドアロン形式でダウンロードします。リソースの使用量は少ないです。

2、解決策

プログラムにExcelを入れて、ファイルストリームをバイナリで書き込みます。

3. ソフトウェア開発(ソースコード)

3.1 リソースファイルの追加

新しい –> リソース ファイル、Res.resx
ここに画像の説明を挿入
Ctrl+V の名前を変更し、Excel テンプレートにコピーします。
ここに画像の説明を挿入

3.2 名前空間のインポート

using System.IO;
using System.Windows.Forms;

3.3 実装コード

	private void Mi_DownExcel_Click(object sender, EventArgs e)
	{
    
    
	    //实例化一个保存文件对话框
	    SaveFileDialog sf = new SaveFileDialog();
	    //设置文件保存类型
	    sf.Filter = "Excel 工作簿|*.xlsx|Excel 97-2003 工作簿|*.xls|所有文件(*.*)|*.*";
	    //如果用户没有输入扩展名,自动追加后缀
	    sf.AddExtension = true;
	    //设置标题
	    sf.Title = "母线质量信息登记";
	    sf.FileName = "母线质量信息登记";
	    //如果用户点击了保存按钮
	    if (sf.ShowDialog() == DialogResult.OK)
	    {
    
    
	        //实例化一个文件流--->与写入文件相关联
	        FileStream fs = new FileStream(sf.FileName, FileMode.Create);
	        //获得字节数组
	        byte[] data = Res.母线质量信息登记;
	        //开始写入
	        fs.Write(data, 0, data.Length);
	        //清空缓冲区、关闭流
	        fs.Flush();
	        fs.Close();
	
	        FrmTips.ShowTipsSuccess(this, "下载成功!");
	    }
	}

方法 2:
DevExpress コントロールを使用します。

//函数内容: 菜单按钮,Excel模板下载
//函数版本: 0.0.0.1
//修改时间: 2023.05.11
//============================================================================================
//注意事项
//  1.  
//  2.  
//============================================================================================
private void Mi_ExcelDown_Click(object sender, EventArgs e)
{
    
    
   try
   {
    
    
       XtraSaveFileDialog sf = new XtraSaveFileDialog();
       sf.Filter = "Excel 工作簿|*.xlsx|Excel 97-2003 工作簿|*.xls|所有文件(*.*)|*.*";
       sf.AddExtension = true;
       sf.ValidateNames = true;
       sf.Title = "模具检验Excel模板";
       sf.FileName = "模具检验Excel模板";
       if (sf.ShowDialog() == DialogResult.OK)
       {
    
    
           //FileStream fs = new FileStream(sf.FileName, FileMode.Create);
           //byte[] data = Resource .母线质量信息登记;
           //fs.Write(data, 0, data.Length);
           //fs.Flush();
           //fs.Close();
       }
   }
   catch (Exception ex)
   {
    
    
       BaseHMI.ShowWarn("Excel模板下载异常 Mi_ExcelDown_Click:" + ex);

   }
}

4. プロジェクト表示

5. リソースリンク

おすすめ

転載: blog.csdn.net/youcheng_ge/article/details/130628766