CoreShop微信小程序商城框架開啟多租戶-添加一個WPF客戶端以便進行上傳產品信息和圖片(6)

前幾天已將基于開源CoreShop框架的微信小程序開啟多租戶功能,還開發了一個輔助客戶端,已經完成了以下工作:

  1. 修改管理員表格,添加上所管理的店鋪列表,兩個產品信息表也全部加上所屬店鋪信息。
  2. 開發一個WPF客戶端,能與服務器登錄并能正常通信。尤其是添加了一個輔助類CoreHelper。

接下來,我們將繼續完善WPF客戶端,

一、將windows客戶調整一下,將登錄信息上移

<Window x:Class="WpfApp2.WindowImportExcel"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="導入EXCEL" Height="820" Width="1600" FontSize="16"Loaded="Window_Loaded"><Grid Margin="20"><Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="Auto"/><RowDefinition Height="*"/></Grid.RowDefinitions><Grid.ColumnDefinitions><ColumnDefinition Width="Auto"/><ColumnDefinition Width="*"/><ColumnDefinition Width="Auto"/><ColumnDefinition Width="780px"/></Grid.ColumnDefinitions><Label Grid.Row="0" Grid.Column="0" Content="管理后臺網址:" VerticalAlignment="Center"/><TextBox Grid.Row="0" Grid.Column="1" x:Name="txtWebhost"  IsReadOnly="False" Margin="5"  Text="http://localhost:1987/"  /><Button Grid.Row="0" Grid.Column="2"  x:Name="btnLogin" Grid.RowSpan="2" Content="登錄" Width="80" Margin="5" Click="BtnLogin_Click"/><!-- 用戶密碼--><Label Grid.Row="1" Grid.Column="0" Content="用戶名:" VerticalAlignment="Center"  /><TextBox Grid.Row="1" Grid.Column="1" x:Name="txtUseName" IsReadOnly="False" Margin="5" Text="" /><Label Grid.Row="2" Grid.Column="0" Content="密碼:" VerticalAlignment="Center" /><Grid Grid.Row="2" Grid.Column="1" Margin="5"><Grid.ColumnDefinitions><ColumnDefinition Width="89*"/><ColumnDefinition Width="377*"/><ColumnDefinition Width="Auto"/></Grid.ColumnDefinitions><PasswordBox x:Name="txtPassword" Grid.Column="0" VerticalAlignment="Center" Grid.ColumnSpan="2"  Password=""/><CheckBox x:Name="chkRememberPassword" Content="保存密碼" Grid.Column="2" Margin="5,0,0,0"VerticalAlignment="Center"/></Grid><!-- 選擇Excel文件 --><Label Grid.Row="3" Grid.Column="0" Content="選擇EXCEL文件:" VerticalAlignment="Center"/><TextBox Grid.Row="3" Grid.Column="1" x:Name="txtExcelPath" IsReadOnly="True" Margin="5"/><Button Grid.Row="3" Grid.Column="2" Content="瀏覽..." Width="80" Margin="5" Click="BtnBrowseExcel_Click"/><!-- 選擇圖片目錄 --><Label Grid.Row="4" Grid.Column="0" Content="選擇圖片目錄:" VerticalAlignment="Center"/><TextBox Grid.Row="4" Grid.Column="1" x:Name="txtImageDir"  Margin="5"/><Button Grid.Row="4" Grid.Column="2" Content="瀏覽..." Width="80" Margin="5,0,5,5" Click="BtnBrowseImageDir_Click" Height="25" VerticalAlignment="Bottom"/><!-- 選擇店鋪--><Label Grid.Row="6" Grid.Column="0" Content="店鋪:" VerticalAlignment="Center"/><ComboBox Grid.Row="6" Grid.Column="1" x:Name="cmbStore" Margin="5" ></ComboBox><!-- 上傳按鈕 --><Button Grid.Row="7" Grid.Column="2" Content="正式上傳" Width="120" Height="36" Margin="5" HorizontalAlignment="Left" Click="BtnUpload_Click"/><!-- 結果顯示 --><TextBox Grid.Row="7" Grid.Column="0" Grid.ColumnSpan="3" x:Name="txtResult" Margin="5" Height="100" VerticalScrollBarVisibility="Auto" TextWrapping="Wrap" IsReadOnly="True"/><!-- SignalR消息列表 --><Label Grid.Row="0" Grid.Column="3" Content="信息列表:" VerticalAlignment="Center"/><ListBox Grid.Row="1" Grid.Column="3" Grid.RowSpan="4" x:Name="lstSignalRMessages" Margin="5"/></Grid>
</Window>

二、 在windows客戶端上傳商品信息

使用NPOI 讀取EXCEL的文件內容

using NPOI.HSSF.UserModel;
using NPOI.OpenXml4Net.Exceptions;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using System.Collections.Generic;
using System.Data;
using System.Globalization;
using System.IO;
using System.Windows;namespace ExcelReaderApp
{/// <summary>/// Excel 讀取工具類/// </summary>public static class ExcelReader{/// <summary>/// 讀取 Excel 文件到 DataTable(自動檢測工作表)/// </summary>public static DataTable ReadExcelToDataTable(string filePath){return ReadExcelToDataTable(filePath, readFirstSheetOnly: true, sheetIndex: 0);}/// <summary>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/95396.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/95396.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/95396.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LabVIEW虛擬實驗平臺設計

?為突破實物實驗教學的時空限制&#xff0c;解決實驗設備不足、操作風險高等問題&#xff0c;設計基于專業軟件的虛擬實驗平臺&#xff0c;以 “信號與系統” 無失真傳輸實驗為實例&#xff0c;融合仿真與網絡技術&#xff0c;適配高校工科實驗教學&#xff0c;提升教學質量與…

PHP Composer 依賴管理完整指南 入門到精通

PHP Composer 依賴管理完整指南 入門到精通 Composer 改變了整個 PHP 開發生態&#xff0c;我用了 10 年&#xff0c;可以說它是 PHP 生態里最重要的工具&#xff0c;沒有之一。不過我和 Composer 的關系一開始并不順利——從剛接觸時的一臉懵逼&#xff0c;到后來真正理解它的…

【開題答辯全過程】以 基于SpringBoot的校園一卡通管理系統的設計與實現為例,包含答辯的問題和答案

個人簡介一名14年經驗的資深畢設內行人&#xff0c;語言擅長Java、php、微信小程序、Python、Golang、安卓Android等開發項目包括大數據、深度學習、網站、小程序、安卓、算法。平常會做一些項目定制化開發、代碼講解、答辯教學、文檔編寫、也懂一些降重方面的技巧。感謝大家的…

深度學習中常用的激活函數

參考文章&#xff1a; Activation Functions — All You Need To Know! | by Sukanya Bag | Analytics Vidhya | Medium 深度學習筆記&#xff1a;如何理解激活函數&#xff1f;&#xff08;附常用激活函數&#xff09; - 知乎 part-0_13.pdf 機器學習中的數學——激活函數&…

無惡意軟件勒索:Storm-0501如何轉向云原生攻擊

Storm-0501基于云的勒索攻擊鏈概覽 | 圖片來源&#xff1a;微軟微軟威脅情報部門最新研究顯示&#xff0c;以經濟利益為目的的威脅組織Storm-0501已將其勒索軟件攻擊模式從傳統本地部署系統顯著轉向云原生攻擊。報告警告稱&#xff0c;該組織"持續優化攻擊活動&#xff0c…

k8s--etcd

目錄 靜態pod 使用步驟&#xff1a; 關鍵特性說明&#xff1a; 常見使用場景&#xff1a; 案例&#xff1a; 環境變量 配置全景解析 實操&#xff1a;?? 查看etcd集群節點信息 查看集群健康狀態 數據庫操作命令 增加(put) 查詢(get) 刪除(del) 租約命令 添加…

PowerPoint和WPS演示如何在放映PPT時用鼠標劃重點

在播放PPT的時候&#xff0c;可以在屏幕上右鍵&#xff0c;在WPS演示中設置“墨跡畫筆”為鼠標以外的其他筆形&#xff0c;在PowerPoint中設置指針選項為其他筆形&#xff0c;然后點擊鼠標左鍵即可對屏幕上的內容進行標記。如果要退出&#xff0c;同樣的路徑操作取消鼠標形狀即…

銷售事業十年規劃,并附上一套能幫助銷售成長的「軟件工具組合」

銷售事業十年規劃&#xff0c;并附上一套能幫助銷售成長的 軟件工具組合。這樣你既有職業發展的路線圖&#xff0c;也有日常可用的工具支撐。&#x1f51f; 年銷售事業規劃 第1-2年&#xff1a;打基礎目標&#xff1a;掌握銷售流程&#xff0c;建立第一個客戶池。重點&#xff…

如何在賽中完整的呈現數學建模模型

數模的完備性一直是國賽中評審的重點&#xff0c;也是大家賽中最容易失分的點。具體來講&#xff0c;2023年C題國一使用了ARIMA,很多省三論文也是ARIMA。二者之所以出現這種巨大的等級差異不是因為模型問題&#xff0c;而是后者模型并不完備&#xff0c;缺少很多模型必要元素。…

蜂窩物聯網模組:電動兩輪車新國標實施下的關乎安全與智能化支撐

蜂窩物聯網模組正成為電動兩輪車新國標實施后不可或缺的關鍵部件&#xff0c;這一轉變源于新國標對電動自行車安全性和智能化的強制性要求 。2025年9月1日起正式實施的GB17761—2024《電動自行車安全技術規范》不僅強化了防火阻燃、防篡改等安全標準&#xff0c;還首次將北斗定…

DevOps篇之利用Jenkins實現多K8S集群的版本發布

重點說明 在 Jenkins 中實現多 K8s 集群的版本發布與版本控制&#xff0c;核心在于解決集群身份認證、配置隔離、發布策略協調、版本統一追溯四大問題。以下是具體實現方案&#xff0c;結合工具鏈集成與流水線設計&#xff0c;確保多集群環境下的發布一致性與可控性。 一、核心…

Day16_【機器學習—KNN算法】

一、KNN 簡介KNN&#xff1a;K-近鄰算法 &#xff08;K Nearest Neighbor&#xff09;算法思想&#xff1a;一個樣本最相似的 k 個樣本中的大多數屬于某一個類別&#xff0c;則該樣本也屬于這個類別距離計算&#xff1a;歐氏距離二、KNN 解決兩類問題分類問題與回歸問題分類流程…

《架構師手記:SpringCloud整合Nacos實戰·一》

《架構師手記&#xff1a;SpringCloud整合Nacos實戰一》 &#x1f308; 第一章&#xff1a;SpringCloud與Nacos的初識之旅 引言 在微服務架構的浪潮中&#xff0c;服務發現和配置管理成為了每個架構師必須面對的挑戰。今天&#xff0c;我們將開啟一段SpringCloud與Nacos的探…

卷積神經網絡訓練全攻略:從理論到實戰

卷積神經網絡&#xff08;Convolutional Neural Networks, CNN&#xff09;作為深度學習的重要分支&#xff0c;已成為計算機視覺領域的核心技術。從圖像分類到目標檢測&#xff0c;從人臉識別到醫學影像分析&#xff0c;CNN 展現出了強大的特征提取和模式識別能力。本文將全面…

從零開始學習n8n-定時器+HTTP+飛書多維表格(上)

概述零基礎也能把自動化玩明白&#xff1a;本篇將從“為什么要做自動化”出發&#xff0c;帶你在 n8n 里新建第一個工作流&#xff0c;只用兩個核心節點——Schedule Trigger&#xff08;定時器&#xff09; 與 HTTP Request。你會學會如何按固定頻率觸發流程、向接口發起請求、…

小白成長之路-k8s原理(二)

文章目錄一、Service原理1.1概述1.2為什么需要service1.3service1.4service類型1.5service組件協同二、configMap原理2.1概述2.2命令2.3類型三、volume2.1emptydir2.2hostPath2.3pv/pvc2.4storageClass四、調度管理3.1概念3.2特點3.3親和性3.4容忍和污點3.5固定節點調度五、etc…

2025 數字化轉型期,值得關注的 10 項高價值證書解析

2025 年&#xff0c;數字化轉型已邁入深度滲透階段&#xff0c;大數據、人工智能、云計算等技術重塑各行業格局&#xff0c;相關領域人才缺口持續擴大。對于職場人突破瓶頸、大學生搶占就業先機而言&#xff0c;適配轉型需求的專業證書已成為核心競爭力。本文結合行業經驗&…

STM32 入門教程:從零基礎到項目實戰

STM32 微控制器憑借其高性能、低功耗、豐富外設以及龐大的生態系統&#xff0c;成為工程師和開發者的首選。對于剛接觸 STM32 的新手來說&#xff0c;面對復雜的芯片架構和開發流程&#xff0c;往往會感到無從下手。本文將以通俗易懂的語言&#xff0c;結合實際案例&#xff0c…

ros、slam、激光雷達、自動駕駛相關學習內容和計劃

明白 ?。你現在做的是 LHD自動駕駛&#xff0c;核心技術是 SLAM、LiDAR、ROS、感知與規劃控制。這類項目涉及“工程落地 學術算法 安全規范”三大方面。我給你一個循序漸進的學習方案&#xff08;從基礎到應用&#xff09;&#xff0c;并附帶開源項目推薦&#xff0c;方便你…

Flutter 完全組件化的項目結構設計實踐

Flutter 完全組件化的項目結構設計實踐 在做 Flutter 項目的時候&#xff0c;隨著業務不斷擴展&#xff0c;如果所有代碼都堆在 lib/ 目錄里&#xff0c;后期維護會越來越痛苦。組件化&#xff08;Componentization&#xff09; 是一種常見的解決方案&#xff0c;它能讓項目更清…