Dans de nombreux systèmes module à l''intérieur, nous pourrions avoir besoin d''être certain du processus d''échange de données, qui est, les opérations d''importation de données ou d''exportation, tels que le système de traitement par lots pour offrir aux utilisateurs une meilleure expérience d''exploitation, mais aussi d''améliorer l''efficacité des données saisies par l''utilisateur.Sur la base de base-cadre Bootstrap, cette mise à jour module de traitement et d''afficher des documents Office ou des photos et autres accessoires.

  1, l''opération d''importation de données

  module système général à l''intérieur, ont des opérations d''importation et exportation de données, de sorte que lorsque l''interface générée automatiquement, j''ai tendance à générer automatiquement requête standard, l''importation, l''exportation, et les fonctions d''exploitation à un utilisateur, les effets d''interface comme indiqué ci-dessous.

  

  opération d''importation, dans le cadre Bootstrap, et je l''ai mis comme une couche, sont unifiés sur l''indice.à l''intérieur du fichier cshtml, de sorte que le processus peut être plus près que toute l''interface, le code exemple ci-dessous.

  Dans des circonstances normales, le code suivant, sont générés automatiquement, y compris tous les champs obligatoires, et nous avons réduit le champ est généralement nécessaire pour répondre aux besoins réels de nos activités et.

  

  

  Si nous voulons afficher l''interface d''importation, il vous suffit de montrer à cette couche, comme indiqué dans le script suivant.

  // Afficher l''interface d''importation

  ShowImport fonction () {

  $ ( "# Importer").modal ( "montrer");

  }

  Voici le processus de téléchargement de fichiers, l''utilisation principale de ce contr?le traitement Uploadify, bien s?r, je peux utiliser le traitement de commande de téléchargement précédemment introduit entrée du fichier, peut bien réaliser ces opérations d''importation.

  contr?les Uploadify code d''initialisation dans le cas général comme suit

  $ (Function () {

  // Pièce jointe Interface Manager

  $ ( ''# File_upload'').Uploadify ({

  ''Swf'': ? / Contenu / JQueryTools / Uploadify / Uploadify.swf ?, // chemin du fichier FLash

  ''ButtonText'': ''View'', // texte du bouton

  ''Uploader'': ''/ FileUpload / Upload'', // Page processus de téléchargement

  ''QueueID'': ''fileQueue'', // ID de la file d''attente

  ? QueueSizeLimit ?: 1, // file d''attente peut télécharger un nombre maximum de fichiers, la valeur par défaut est 999

  ? Auto ?: false, // choisir de télécharger automatiquement le fichier, la valeur par défaut est vrai

  ''Multi'': false, // si elle est multiple choix, true par défaut

  ? RemoveCompleted ?: le vrai, // si vous souhaitez supprimer la séquence complète, la valeur par défaut est vrai

  ''FILESIZELIMIT'': ''10MB'', // taille de fichier unique, 0 à valeur de cha?ne illimitée KB acceptable, MB, GB autres unités

  ''FileTypeDesc'': ''Excel Files'', // Description du fichier

  ''FileTypeExts'': ? *.xls'', // télécharger le filtre suffixe du fichier

  ''OnQueueComplete'': function (event, data) {// événement après l''achèvement de toutes les files d''attente

  // code de traitement des affaires

  // invite l''utilisateur au format Excel est normal, si les données de charge normale

  },

  ''OnUploadStart'': function (fichier) {

  InitUpFile (); // Avant fichiers téléchargement, réinitialiser le GUID, chaque autre

  $ ( "# File_upload").Uploadify ( "paramètres", ''formData'', { ''dossier'': ''fichier d''importation de données'', ''guid'': $ ( "# AttachGUID").Val ()}); // paramètres de transmission dynamiques

  },

  ''OnUploadError'': function (event, queueId, fileobj, errorObj) {

  // alerte (errorObj.tapez + ":" + errorObj.Info);

  }

  });

  });

  La logique est la clé:

  // code de traitement des affaires

  Dans des circonstances normales, nous sommes ici pour avoir accès à des fichiers Excel à l''intérieur du serveur, d''où la nécessité pour le format de la poignée de fichier, si le format est correct, nous avons les données affichées pour l''utilisateur d''importer pour sélectionner des enregistrements, a décidé d''importer ces documents à.

  

  Code de traitement des données d''inspection de format Excel est indiqué ci-dessous.

  // invite l''utilisateur au format Excel est normal, si les données de charge normale

  $.ajax ({

  url: ? / utilisateur / CheckExcelColumns?guid = ? + guid,

  tapez: ''get'',

  dataType: ''json'',

  succès: function (données) {

  si (données.Succès) {

  InitGrid (); // actualiser la table de données

  showToast ( ? Le fichier a été téléchargé, les données sont chargées!? );

  }

  autre {

  showToast ( ? télécharger des fichiers Excel ne passent pas l''inspection.Effectuer la saisie des données basée sur format de modèle Excel coin de la page."," Erreur ");

  }

  }

  });

  Nous sommes en arrière-plan pour ajouter une méthode CheckExcelColumns utilisée pour vérifier le champ de format de fichier Excel, seul le format de fichier conforme aux exigences, était d''obtenir des données et affichées sur l''écran.

  le code JS est affiché à l''écran, ce qui est le contenu principal du fichier Excel est extrait, et l''élément peut être lié à la table.

  // requête et lier les résultats en fonction des conditions

  InitGrid fonction () {

  var guid = $ ( "# AttachGUID").val ();

  var url = ? / Utilisateur / GetExcelData?guid = ? + guid;

  $.getJSON (URL, la fonction (données) {

  $ ( "# GridImport_body").html ( "");

  $.chacune (données.des lignes, la fonction (i, item) {

  var tr = "? ;

  tr + = "? ;

  tr + = "? + Article.HandNo + "? ;

  tr + = "? + Article.Nom + "? ;

  tr + = "? + Article.FullName + "? ;

  tr + = "? + Article.Titre + "? ;

  tr + = "? + Article.MobilePhone + "? ;

  tr + = "? + Article.OfficePhone + "? ;

  tr + = "? + Article.Email + "? ;

  tr + = "? + Article.Sexe + "? ;

  tr + = "? + Article.QQ + "? ;

  tr + = "? + Article.Note + "? ;

  tr + = "? ;

  $ ( "# GridImport_body").append (tr);

  });

  });

  }

  Pour plus obtenir l''utilisateur dans des secteurs spécifiques, nous pouvons également appara?tre une bo?te de dialogue avec et sélectionner les informations spécifiques, et enfin soumettre les données au traitement back-end.

  

  Code opération est illustré ci-dessous.

  // Enregistrer les données importées

  SaveImport fonction () {

  // objets Assigner

  $ ( "# Company_ID3").select2 ( "val", @Session [ "Company_id"]).déclenchement ( ''changement'');

  $ ( "# Dept_ID3").select2 ( "val", @Session [ "dept_ID"]).déclenchement ( ''changement'');

  $ ( "# SelectDept").modal ( "montrer");

  }

  Nous confirmons pour gagner du temps, il vous suffit de soumettre les données par Ajax pour le traitement de fond du code JS spécifique indiqué ci-dessous.

  $.ajax ({

  url: ''/ utilisateur / SaveExcelData'',

  tapez: ''post'',

  dataType: ''json'',

  contentType: ''application / json; charset = UTF-8'',

  traditionnel: true,

  succès: function (données) {

  si (données.Succès) {

  // enregistré avec succès 1.Fermez la fenêtre, 2.dossiers vides montrent 3.liste ma?tresse Actualiser

  showToast ( "Save succès");

  $ ( "# Importer").modal ( "cacher");

  $ (BodyTag).html ( "");

  Rafra?chir ();

  }

  autre {

  showToast ( ? échec de l''enregistrement: ? + données.ErrorMessage, "erreur");

  }

  },

  données: postData

  });

  2, l''opération d''exportation de données

  opération d''exportation de données est relativement simple, dans des circonstances normales, nous écrivons des données à un tableaux Excel fixes à l''intérieur, puis indiquez l''URL à l''utilisateur à télécharger.

  // exportation des données Excel

  ShowExportation fonction () {

  var url = "/ utilisateur / Export";

  var condition = $ ( "# ffSearch").serialize (); // obtenir des conditions

  executeExport (url, condition); // exécuter l''exportation

  }

  code spécifique logique illustré ci-dessous

  // exécuter le fichier de sortie d''exportation

  fonction executeExport (url, condition) {

  $.ajax ({

  tapez: "POST",

  url: url,

  données: état,

  succès: function (filePath) {

  var downUrl = ? / FileUpload / DownloadFile?file = ? + filePath;

  fenêtre.Emplacement = downUrl;

  }

  });

  }

  

  3, le processus de visualisation de fixation

  Dans la plupart des cas, nous devrons peut-être afficher les fichiers téléchargés, y compris des documents Office, des images, etc. peuvent être visionnés, n''est pas, vous pouvez télécharger une vue ouverte locale.

  document partie présente un aper?u du Bureau, il y a deux fa?ons, on est d''utiliser l''aper?u pour prévisualiser l''adresse de Microsoft Office, l''un est utilisé pour générer des commandes HTML pour afficher un aper?u les deux peuvent être combinés, peuvent être configurés selon les besoins.

  ///

  /// L''ID accessoire, la vue correspondant à l''URL acquise visualisation.

  /// La règle générale est que si un fichier image, revenez à voir l''URL ? / FileUpload / ViewAttach ?;

  /// Si les fichiers Office (Word, PPT, Excel), etc., vous pouvez consulter l''adresse par affichage en ligne de Microsoft: ? http: // vue.officeapps.vivre.com / op / vue.ASPX?src = ? https: // www.jb51.net / article /,

  /// peut également être Voir le fichier HTML généré localement.Si d''autres fichiers peuvent être téléchargés directement l''adresse.

  ///

  /// accessoire ID

  ///

  publique ActionResult GetAttachViewUrl (id string)

  {

  cha?ne viewUrl = "";

  FileUploadInfo info = BLLFactory.Exemple.FindById (id);

  si (info != Null)

  {

  string ext = info.FileExtend.Garniture ( ''.? ).Baisser ();

  cha?ne filePath = GetFilePath (info);

  bool officeInternetView = false; // si vous souhaitez utiliser l''Internet Aper?u en ligne

  string hostname = HttpUtility.UrlPathEncode ( ? http: // www.iqidi.com / ? ); // Vous pouvez le configurer, le cas échéant

  si (poste == "xls" || ext == ".xlsx" || ext == "doc" || ext == "docx" || ext == "ppt" || ext == "pptx")

  {

  si (officeInternetView)

  {

  // retourner l''adresse d''un navigateur en ligne Microsoft Office, besoin d''ajouter le nom de domaine Internet ou l''adresse IP publique

  viewUrl = cha?ne.Format ( ? http: // vue.officeapps.vivre.com / op / vue.ASPX?src = https: // www.jb51.article net / / {0} {1} ?, hostName, filePath);

  }

  autre

  {

  #region première génération de documents dynamiques

  // Vérifiez si les fichiers Office locaux existent, comme l''absence, M. Cheng fichier, puis revenir sur le chemin pour la visualisation

  cha?ne WebPath = cha?ne.Format ( ? / GenerateFiles / Bureau / {0}.htm ?, informations.ID);

  cha?ne generateFilePath = Serveur.MapPath (WebPath);

  if (!FileUtil.FileIsExist (generateFilePath))

  {

  cha?ne templateFile = BLLFactory.Exemple.GetFilePath (info);

  templateFile = Chemin.Combiner (Système.AppDomain.currentDomain.BaseDirectory, templateFile.Remplacer ( "\", "/"));

  si (poste == "doc" || ext == "docx")

  {

  Aspose.Mots.Document doc = new Aspose.Mots.Document (templateFile);

  doc.Enregistrer (generateFilePath, Aspose.Mots.SaveFormat.Html);

  }

  autre if (poste == "xls" || ext == ".xlsx")

  {

  Classeur classeur = new classeur (templateFile);

  classeur.Enregistrer (generateFilePath, SaveFormat.Html);

  }

  else if (poste == "ppt" || ext == "pptx")

  {

  templateFile = templateFile.Remplacer ( "/", "\");

  PresentationEx pres = new PresentationEx (TemplateFile);

  pres.Enregistrer (generateFilePath, Aspose.diapositives.Export.SaveFormat.Html);

  }

  }

  #endregion

  viewUrl = WebPath;

  }

  }

  else

  {

  viewUrl = filePath;

  }

  }

  Contenu de retour (viewUrl);

  }

  Avec ce code de traitement d''arrière-plan, nous pouvons conna?tre l''aper?u correct de bureau, qui utilise l''URL.

  De cette fa?on, la page d''accueil, nous avons seulement besoin de déterminer le type spécifique de fichier, vous pouvez afficher la.

  si (type == "image") {

  var imgContent = '''';

  $ ( "# DivViewFile").html (imgContent);

  $ ( "# Fichier").modal ( "montrer");

  } Autre {

  $.ajax ({

  tapez: ''GET'',

  url: viewUrl,

  // async: false, // synchronisation

  // dataType: ''json'',

  succès: function (JSON) {

  $ ( "# DivViewFile").html (json);

  $ ( "# Fichier").modal ( "montrer");

  },

  Erreur: la fonction (XHR, état, erreur) {

  showError ( "Echec de l''opération" + XHR.responseText); // XHR.responseText

  }

  });

  }

  Quel code

  $ ( "# Fichier").modal ( "montrer");

  Nous appelons une bo?te de dialogue global, utilisé pour afficher le contenu spécifique, l''effet est comme suit.

  

  mot aper?u du document est la suivante:

  

  Ou nous regardons le fichier image, effets d''interface peuvent être obtenus comme suit:

  

  

  Ce sont les petites séries pour introduire un cadre de développement BootStrap Metronic basé sur Résumé de l''expérience [sept] des données d''importation, processus de visualisation de contenu pertinent d''exporter et d''accessoires, nous voulons aider, si vous voulez en savoir plus d''informations afin de script à l''écoute de séjour site d''accueil dans cette petite série très reconnaissants envers tout le monde pour leur soutien du script site d''accueil!

  Vous pouvez également être intéressé par l''article: Obtenir la compréhension bootstrap approfondie du cadre de la préparation BootStrap cadre de développement Metronic basé sur Résumé de l''expérience [neuf] pour réaliser un aper?u avant impression et enregistrer le contenu de la page Web basée sur l''exploitation Résumé de l''expérience cadre de développement BootStrap Metronic [8] cadre général fonctionnalités introduites interface bootStrap Metronic résumé de l''expérience cadre de développement [six] traitement et la bo?te de dialogue d''optimisation rapide et compréhension approfondie de l''architecture globale du deuxième chapitre cadre d''amor?age

[Sept] basé sur les données d''importation BootStrap expérience cadre de développement Metronic résumé, vue et accessoires de traitement exportation

Recommend Article: